Laravel 5 Проблема с параметром формы

Итак, я добавил функциональность формы просто отлично в Laravel 5 и использовал ее в этих уроках. Я новичок в Laravel в целом и не могу понять, что происходит не так. У меня есть вложенный маршрут todos.items.create, поэтому для создания нового элемента в этом списке мне нужно будет передать этот идентификатор в тег Form :: open. Однако при этом я получаю Упс, похоже, что-то пошло не так. Теперь, если я удаляю параметр $ todo_list-> id, страница загружается нормально, но при этом я всегда получаю эту ошибку. Вот мой код

контроллер:

public function create($list_id)
{
$todo_list = TodoList::findOrFail($list_id);
return view('items.create', ['TodoList' => $todo_list]);
}

Создать представление (create.blade.php в папке my items внутри папки views)

{!! Form::open(array('route' => ['todos.items.store', $todo_list] )) !!}

Когда вы просто делаете ниже, это хорошо, но, делая то, что нужно, это не так. Это потому, что мне нужен идентификатор списка, в котором нужно создать новый элемент.

{!! Form::open(array('route' => ['todos.items.store'] )) !!}

Маршруты:

Route::get('/', 'TodoListController@index');
Route::resource('todos', 'TodoListController');
Route::resource('todos.items', 'TodoItemController', ['except' => ['index', 'show'] ]);

Есть идеи, что я здесь делаю не так? Я запустил var_dump с $ todo_list-> id перед возвратом представления только для проверки, и он вернул правильный идентификатор.

0

Решение

Вы создали объект $ todo_list, но передали его в ваше представление как $ TodoList.

Попробуйте использовать следующее вместо

return view('items.create', ['todo_list' => $todo_list]);

При вызове представления из контроллера ключ, используемый в вашем массиве данных, определяет, какая переменная будет доступна на страницах.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]