【发布时间】:2015-07-16 01:55:08
【问题描述】:
好的,我已经在 Laravel 5 中很好地添加了表单功能,并且在这些教程中一直在使用它。总的来说,我对 Laravel 来说是全新的,无法找出问题所在。我有一个嵌套路由 todos.items.create,因此要在该列表中创建一个新项目,我必须将该 ID 传递到 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 在视图文件夹内的我的项目文件夹中)
{!! Form::open(array('route' => ['todos.items.store', $todo_list] )) !!}
仅执行以下操作时效果很好,但执行上述操作时却不行。这是因为我需要在其中创建新项目的列表的 ID。
{!! Form::open(array('route' => ['todos.items.store'] )) !!}
路线:
Route::get('/', 'TodoListController@index');
Route::resource('todos', 'TodoListController');
Route::resource('todos.items', 'TodoItemController', ['except' => ['index', 'show'] ]);
有什么想法我在这里做错了吗?我在返回视图之前运行了 $todo_list->id 的 var_dump,只是为了检查并返回正确的 id。
【问题讨论】:
-
您能告诉我们您的
todos.item.store路线以及与您的待办事项列表相关的任何其他路线吗? -
我已经添加了路线,但它不应该与此有任何关系,因为如果删除了参数,表单会呈现得非常好,但需要像声明的那样获取正确列表的 id将项目添加到并发送到 store 方法。
标签: php laravel-5 laravel-form