Yii2 выборка по модели в массив

255
08 сентября 2018, 22:00

Есть таблица и модель под нее, несколько записей параметров для вывода в качестве лэйблов.

  • name отображаемое на сайте имя,
  • val значение (обычно от 0 до 10-20 ),
  • section признак секции к которой принадлежит данный параметр

Пытаюсь выбрать из таблицы значения для section='access' как массив и подставить в DepDrop.

Делаю так:

$options=$options::find(['LIKE', 'section', 'access'])->orderBy('prior')->asArray()->all();

Получаю все записи:

Array ( [0] => Array ( [id] => 1 [name] => Для всех пользователей [val] => 0 [section] => access [prior] => 0 [name_en] => access_1 ) [1] => Array ( [id] => 5 [name] => Командное [val] => 0 [section] => eventtype [prior] => 0 [name_en] => eventtype_1 ) [2] => Array ( [id] => 2 [name] => Для друзей (семья входит в друзья) [val] => 1 [section] => access [prior] => 1 [name_en] => access_2 ) [3] => Array ( [id] => 6 [name] => Семейное [val] => 1 [section] => eventtype [prior] => 1 [name_en] => eventtype_2 ) [4] => Array ( [id] => 3 [name] => Только для семьи [val] => 2 [section] => access [prior] => 2 [name_en] => access_3 ) [5] => Array ( [id] => 7 [name] => Личное [val] => 2 [section] => eventtype [prior] => 2 [name_en] => eventtype_2 ) [6] => Array ( [id] => 4 [name] => Только мне лично [val] => 3 [section] => access [prior] => 3 [name_en] => access_4 ) )

Подскажите, что я не так делаю?

Думал что Like глючит, написал:

find(['section' => 'access']) 

результат тот же?

Answer 1

Исходя из документации запрос составляется следующим образом.

$customers = Customer::find()->where(['section' => 'access'])->all();

Т.е. параметры поиска указываются в функции where (так же можете посмотреть решение andWhere для множественной выборки). В итоге у вас должно получиться что-то вроде

$options->$options::find()->where(['section' => 'access'])-orderBy('prior')->asArray->all();

Советую почаще обращаться сюда. Это реально сэкономит кучу времени.

READ ALSO
Получение SMART в PHP

Получение SMART в PHP

Существует ли библиотека для получения данных SMART в PHP?

158
Парсит только первые 2 страницы

Парсит только первые 2 страницы

Пытаюсь научится делать парсерыСейчас с помощью библиотеки phpquery делаю простенький парсер

174
WP_Query последующая обработка результатов

WP_Query последующая обработка результатов

На странице вывожу произвольные посты циклом WP_QueryНеобходимо получить все посты с определенными параметрами, а уже потом выполнить подсчет...

174
спарсить рейтинг wta (php)

спарсить рейтинг wta (php)

пытаюсь получить исходник страницы, но страница скачивается без той таблицы которая мне нужна, как я понял она потом подгружаетсякак мне...

206