Cách tốt nhất để tạo Object::all()
thành array('object_id', 'object_name')
là gì? Tôi cần một mã đẹp để sử dụng tuyển tập hùng hồn cho SELECT: {{ Form:select('objects', $custom_array) }}
. Là một vòng lặp cho cách duy nhất để làm điều đó?Cách tốt nhất để tạo bộ sưu tập hùng hồn cho mảng tùy chỉnh
7
A
Trả lời
16
Tôi nghĩ rằng bạn đang tìm kiếm toArray()
:
User::all()->toArray();
http://four.laravel.com/docs/eloquent#converting-to-arrays-or-json
Để có được một mảng có thể được sử dụng trực tiếp với Form::select()
, bạn có thể sử dụng như sau:
$contacts = Contact::orderBy('name')->lists('name', 'id');
$contacts = count($contacts) > 0 ? $contacts : array();
{{ Form::select('contact', $contacts) }}
Cám ơn câu trả lời, nhưng nó làm cho tôi cấu trúc của một mảng như thế này: 'mảng (0 => mảng (" id "=> 1," tên "=>" object1 "), 1 => mảng (" id "=> 2, "name" => "object2") ...) 'và tôi cần nó như thế này:' mảng (1 => "object1", 2 => "object2") ';) –
Ah ok, nếu bạn cần một mảng mà bạn có thể sử dụng với' Form :: select() ' , sau đây sẽ hoạt động: '$ contacts = Contact :: orderBy ('name') -> danh sách ('name', 'id'); $ contacts = count ($ contacts)> 0? $ contacts: array(); {{Biểu mẫu :: chọn ('liên hệ', $ liên hệ}} ' –
Có! Hoàn hảo;]] cảm ơn –