Laravel foreach не работает - PullRequest
0 голосов
/ 08 июня 2018

Я сделал все как раньше, но по какой-то причине это не работает.Это мой код в blade-файле

<select name="partner_id" id="partner_id" class="form-control">
                    @foreach($partners as $partner) 
                        <option value="{{ $partner->id }}">{{ $partner->name }}</option> 
                    @endforeach
                </select>

, это код в моем контроллере

public function create()
    {
        $partners = Partner::all()->get();
        return view('createcompany', compact('partners'));
    }

, и это мой маршрут

Route::get('/create-company', function () {
    return view('createcompany');
})->middleware('auth','admin');

, и я получаю эту ошибку

Undefined variable: partners (View: .../resources/views/createcompany.blade.php)

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Я только что изменил маршрут на Route::get('/create-company', 'CompanyController@create'); и удалил -> get ()

$partners = Partner->all();

Теперь он работает, спасибо.

0 голосов
/ 08 июня 2018

РЕДАКТИРОВАТЬ

Хотя этот ответ будет отвечать на вторую ошибку OP, этот ответ не отвечает на вопрос.Это был плохой маршрут, который возвращал представление без переменных.

Изменить

public function create()
{
    $partners = Partner::all()->get();
    return view('createcompany', compact('partners'));
}

на

public function create()
{
    $partners = Partner::all();
    return view('createcompany', compact('partners'));
}

Поскольку метод all() уже подразумевает get().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...