关于update in() 的问题

请问大家一个问题,我想实现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呢?该如何解决呢,还请高手帮帮忙

没测试过,不过根据API,你的




$criteria->addInCondition('product_id', $_POST['id']);



第二个参数不是一个数组。。。

:rolleyes:

解决了,谢谢回复,$_POST[‘id’]

这里的id是json直接post过来的 ,是个数组,问题是

$result = Product::model()->updateAll(array(‘is_valid’=>new CDbExpression(‘is_valid^0x01’)),$criteria);

$criteria应该在括号外 - -"