snoywing
(Snowcckitty)
1
请问大家一个问题,我想实现update product set xx = xx where id in(x,y,z)
这样的形式的
我用
$criteria=new CDbCriteria;
$criteria->addInCondition('product_id', $_POST['id']);
$result = Product::model()->updateAll(array('is_valid'=>new CDbExpression('is_valid^0x01'),$criteria));
为什么生成的sql是
Executing SQL: UPDATE product
SET is_valid
=is_valid^0x01
怎么没有in呢?该如何解决呢,还请高手帮帮忙
DavidHHuan
(Davidhhuan)
2
没测试过,不过根据API,你的
$criteria->addInCondition('product_id', $_POST['id']);
第二个参数不是一个数组。。。
snoywing
(Snowcckitty)
4
解决了,谢谢回复,$_POST[‘id’]
这里的id是json直接post过来的 ,是个数组,问题是
$result = Product::model()->updateAll(array(‘is_valid’=>new CDbExpression(‘is_valid^0x01’)),$criteria);
$criteria应该在括号外 - -"