LINUX.ORG.RU

Как в Laravel получить из таблицы-справочника массив вида id=>name ?

 , ассоциативный, , ,


0

1

Есть таблица, у которой есть поля id и name, ее содержимое, например, такое:

id name
1 name1
5 name5
7 name7


Есть ли какой-нибудь метод, чтобы одним махом получить ассоциативный массив вида:

[ 1=>'name1', 5=>'name5', 7=>'name7' ]


?

★★★★★

Последнее исправление: Xintrea (всего исправлений: 3)

Ответ на: комментарий от Xintrea

А как сделать то же самое, но с сортировкой по полю ort_order?

Я пробую так:

TableName::orderBy('sort_order')->get('title','id')->pluck('title','id');


Но получаю ошибку:

«Type error: Argument 1 passed to Illuminate\Database\Grammar::columnize() must be of the type array, string given, called in vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php on line 131 ◀»

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от goingUp

Хм, я обошелся без get:

TableName::orderBy('sort_order')->pluck('title','id');


В тексте ошибки не указано, в какой элемент всего выражения надо передавать массив.

Xintrea ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.