Более чистый способ сделать поле выбора в Laravel - PullRequest
2 голосов
/ 06 мая 2020

В настоящее время в моем контроллере у меня есть следующее:

public function create(Request $request)
{
    $categories = Categories::all();
    $list = [];
    foreach ($categories as $category) {
        $list[] = [
            $category->id => $category->name
        ];
    }

    return view('frontend.user.project', [
        'categories' => $list
    ]);
}

Это значит, что я могу заполнить свою форму с помощью html() помощника, вот что у меня внутри моего представления:

<div class="row">
    <div class="col">
        <div class="form-group">
            {{ html()->label(__('validation.attributes.frontend.category'))->for('category') }}

            {{ html()->select('category', $categories)->class('form-control') }}
        </div><!--form-group-->
    </div><!--col-->
</div><!--row-->

Какой подход проще / чище вместо создания другого массива?

Ответы [ 2 ]

4 голосов
/ 06 мая 2020

Вы можете использовать pluck, чтобы избежать l oop:

public function create(Request $request)
{
    return view('frontend.user.project', [
        'categories' => Categories::pluck('name', 'id')->toArray()
    ]);
}
0 голосов
/ 06 мая 2020

Вы можете использовать функцию pluck ():

    $lists = Categories::pluck('name','id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...