Intereting Posts
magento ограничение количества возвращенных предметов в вызове коллекции продуктов include () в PHP ведет себя по-разному при обновлении XAMPP Запрос POST с JSON-словарем не возвращает правильное значение с $ _POST в Swift 3? Разрешить пользователям обновлять браузер без всплывающего окна «Подтверждение повторной отправки формы» Создание пользовательской функции MySQL? Преобразование массива PHP в входы HTML-формы – это дублирование элементов как скрыть фактическое местоположение папки загрузки как я могу создать систему тегов с использованием php и mysql? как получить номер MSISDN в WAP с помощью PHP? Json_decode со специальными символами Как проверить номер телефона с помощью PHP? Наложение div div над другим div, с jQuery, если возможно sSpeak для mp3 в php для обоих окон и linux (онлайн-текст в речь) Подтверждение подписи сервера покупок в приложении для Android, используя php OpenSSL php & mySQL: запрос не использует индекс в соединении таблицы

Yii с использованием переменной с условием IN

Я пытаюсь извлечь информацию на страницу, используя мою модель. Проблема в том, что мне нужно использовать условие 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));