2013-05-13 3 views
7

Что такое лучший способ сделать Object::all() до array('object_id', 'object_name')? Мне нужен хороший код для использования коллекции eloquent для SELECT: {{ Form:select('objects', $custom_array) }}. Является ли цикл for единственным способом сделать это?Лучший способ сделать красноречивую коллекцию настраиваемому массиву

ответ

16

Я думаю, что вы ищете toArray():

User::all()->toArray(); 

http://four.laravel.com/docs/eloquent#converting-to-arrays-or-json

Чтобы получить массив, который может быть непосредственно использован с Form::select(), вы можете использовать следующие:

$contacts = Contact::orderBy('name')->lists('name', 'id'); 
$contacts = count($contacts) > 0 ? $contacts : array(); 

{{ Form::select('contact', $contacts) }} 
+0

Спасибо за ответ, но он делает меня структурой такого массива: 'array (0 => array (" id "=> 1," name "=>" object1 "), 1 => array (" id "=> 2, "name" => "object2") ...) 'и мне нужно это следующим образом:' array (1 => "object1", 2 => "object2") ';) –

+0

Ах, ну, если вам нужен массив, который вы можете использовать с' Form :: select() ' , должно работать следующее: '$ contacts = Contact :: orderBy ('name') -> lists ('name', 'id'); $ contacts = count ($ contacts)> 0? $ contacts: array(); {{Форма :: select ('контакт', $ contacts}} ' –

+0

Да! Perfect;]] спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^