【发布时间】:2014-01-26 12:31:24
【问题描述】:
我想要复制一个 AR 模型,但只需要手动更改外键。
$_POST['competition_id'] = 99;
$prizes = CompetitionPrizes::model()->findAll('competition_id =:competition_id',array(':competition_id'=> $_POST['competition_id']));
此查询基本上是查询奖品表并获取特定比赛的所有行。对于奖品对象,我想基本上重新插入/复制相同的信息,除了我想手动设置的比赛 ID。
我对一个基本上只有一行并且运行良好的 AR 对象做了类似的事情,但是在这种情况下,作为一项竞赛可以有多个奖项,但相同的代码不会。
// My existing code for duplication process
$obj = Competitions::model()->find('competition_id=:competition_id', array(':competition_id' => $post['competition_id']));
$clone = clone $obj;
$clone->isNewRecord = true;
unset($clone->competition_id); // i want to remove this so it is auto inserted instead via the db
$clone->save();
这很好用 - 我将如何在“集合”奖品上修改它并将其复制到数据库中,同时设置我自己的“competition_id”值。
注意 - 我是 Yii 的新手,所以如果我犯了任何明显的错误/不良做法,请告诉我
【问题讨论】:
标签: php database activerecord yii