YII使用可变带有IN条件(Yii using a variable with an IN cond

2019-10-19 05:32发布

我想用我的模型提取信息到页面中。 问题是,我需要使用IN使用变量在我的MySQL的条件。

这是我目前使用的代码

$list_id = '1,3';
$clients = ListSubscriber::model()->findAll(array('condition'=>'list_id IN (:list_id)','params'=>array(':list_id'=>$list_id)));

我不一定会知道多少个号码将被存储内$list_id ,因此需要一个变量与工作IN

该代码不执行没有错误,但似乎只针对第一号返回值$list_id ,所以在这种情况下,它只能找到用户在list_id = 1。

任何帮助表示赞赏。 我发现这个问题的Yii addInCondition但是他们使用的是静态值,不解决我的问题。

当我使用静态值,该代码与结果按预期执行。

Answer 1:

您可以使用addInCondition:

$list_id = '1,3';
$criteria = new CDbCriteria();
$arr_list_id = explode(",",$list_id);
$criteria->addInCondition("list_id ", $arr_list_id );
$clients = ListSubscriber::model()->findAll($criteria);


Answer 2:

$list_ids = array(1,3);
$clients = ListSubscriber::model()->findAllByAttributes(array('list_id'=>$list_ids));


文章来源: Yii using a variable with an IN condition
标签: php mysql yii