Laravel 5 Form参数问题

时间:2015-05-06 05:16:41

标签: php laravel-5 laravel-form

好的,所以我在Laravel 5中添加了Form功能,并且已经在这些教程中使用它了。我一般都是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。

1 个答案:

答案 0 :(得分:1)

您已经创建了$ todo_list对象,但已将其作为$ TodoList传递给您的视图。

请尝试使用以下内容

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

从控制器调用视图时,数据数组中使用的键就是变量将在页面上可用的内容。