@echizon

Yii2, ActiveRecord как получить из БД массив нужного вида?

Мне нужно чтобы у массива ключами были id таблицы, а значение массива значение того поля, которое есть в таблице ([ id => value]). Моя модель Client, и надо в массиве держать имен клиентов.
$clients = Client::find()->all();
$clientsArray = [];
foreach ($clients as $client) {
$clientsArray[$client->id] = $client->name;
}
return $clientsArray

Мне подсказали, что 6 строк кода с циклом, можно поменять на 2 строки, без цикла, использую find()->asArray() или тому подобную конструкцию. Подскажите, пожалуйста, как это сделать? Не могу найти как это сделать.
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
@pantsarny
$clients = Client::find()->select(['name', 'id'])->indexBy(“id”)->column()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы