jackiesun
(Fleaphp)
1
$criteria->condition = " type in (:type)";
$criteria->params = array(':type'=>'friendlink,friendlink2');
代码如上,
但没成功。。
直接
$criteria->condition = " type in ('friendlink','friendlink2')";
这样写是可以的。
按第一种方法,就是不行。请问,如果按第一写法应该怎么写。。谢谢
terry39
(Gamezoom)
2
试试
$criteria->condition = " type in :types";
$criteria->params = array(':types'=>"('friendlink','friendlink2')");
原因我觉得是 IN 是逻辑运算符号,两边应该是字段名和值,其中 “(…)” 整个算是一个值
pangjanne
(Pngjanne)
3
有addInCondition() 方法干嘛不用。
condition的后面写的是sql语句,语法必须正确才行, 占位符可不会给你添加()或者%之类的语法符号。
sharehua
(8080268)
5
$groups=explode(",","1,2,3,4,5,6,7");
$condition=Yii::app()->db->schema->commandBuilder->createInCondition(Model::model()->tableSchema, 'id', $groups);
试试这个是否可以。