我刚刚开始学习laravel,并想知道如何将与路径无关的数据传递给控制器。我想要完成的是创建一个能够嵌套项目的待办事项。
<a class="btn btn-success" href="{{route('lists.items.create',4)}}">Create New Item</a>
4只是一个硬编码的例子,看它是否有效。
public function create(TodoList $list, $item_id = null)
{
dd($item_id);
return view('items.create', compact('list'));
}
因此,如果您创建了一个项目并且没有传入id的参数,则默认为null
,否则将其设置为传入的内容。但是我得到了{{ 1}}。我怎么能够做到这一点。
任何帮助欢迎:)
答案 0 :(得分:4)
您需要定义路线,例如:
Route::get('create-item/{id}', [
'as' => 'lists.items.create',
'uses' => 'MyController@create'
])
现在,请拨打路线,如:
<a class="btn btn-success" href="{{route('lists.items.create', ['id' => 4])}}">Create New Item</a>