Я пытаюсь извлечь информацию на страницу, используя мою модель. Проблема в том, что мне нужно использовать условие 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 Однако они используют статические значения, что не позволяет решить мою проблему.
Когда я использую статические значения, код выполняется с ожидаемыми результатами.
Вы можете использовать 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);
$list_ids = array(1,3); $clients = ListSubscriber::model()->findAllByAttributes(array('list_id'=>$list_ids));