如何在不使用主键的情况下更新Yii中的行?

时间:2015-04-23 15:04:59

标签: php mysql yii

这是我的代码:

$model= Prices::model()->findByPk($pk);
$model->status = 1;
$model->update(array('status'));

这使用主键更新我的行,但如何在Yii中更新没有pk的查询。例如:

如何编写此查询:

update mytable set mycolumn = '1' where mycolumn1 ='2' and mycolumn2 = '3' and mycolumn3 = '4' ? Thx

2 个答案:

答案 0 :(得分:1)

你是否尝试过这样的第一个字符串?

$model= Prices::model()->findByAttributes(
    array(
        'mycolumn1' => 2,
        'mycolumn2' => 3,
        'mycolumn3' => 4
     )
);
$model->mycolumn = 1;
$model->update(array('mycolumn'));

答案 1 :(得分:0)

尝试使用UpdateAll()

更新模型
Prices::model()->updateAll(
 array('mycolumn'=>1),'mycolumn1=:mycolumn1 AND
 mycolumn2=:mycolumn2 AND mycolumn3=:mycolumn3',
 array(':mycolumn1'=>2,':mycolumn1'=>3,':mycolumn1'=>4)
);