Рекомендации Laravel 5.3 — загрузка списков из других моделей для заполнения выпадающих списков

#laravel #eloquent #laravel-5.3 #laravel-blade

#laravel #eloquent #laravel-5.3 #laravel-blade

Вопрос:

я новичок в Laravel и использую InfyOm laravel generator для создания приложения. Я столкнулся с проблемой и хотел бы знать, как лучше всего это сделать:

У меня есть модель «Миссия». При создании миссии с ней должны быть связаны идентификатор клиента и идентификатор агента. На мой взгляд, я хочу отобразить 2 выпадающих списка, один из которых содержит все активные клиенты (id name), а другой — все активные агенты (id name).

мой контроллер

 public function create()
{
    return view('missions.create');
}
  

мой блок просмотра

 {!! Form::select('client_id', ?????? , null, ['class' => 'form-control']) !!}
  

Спасибо за ваши предложения

Комментарии:

1. Передайте список клиентов и список агентов в представление.

Ответ №1:

Наиболее удобным способом является использование pluck() метода для создания списка из коллекции, например:

 public function create()
{
    return view('missions.create', [
        'users' => User::pluck('name', 'id')
    ]);
}
  

Затем используйте $list переменную:

 {!! Form::select('client_id', $users , null, ['class' => 'form-control']) !!}
  

Комментарии:

1. Это сработало, спасибо. У кого возникли проблемы с этим, не забудьте включить пространство имен —> «use App Models User;» поверх вашего контроллера