Laravel 将数据传递给控制器

Jos*_*vak 2 php controller laravel laravel-5

我刚开始学习 laravel,想知道如何将与路由无关的数据传递给控制器​​。我想要完成的是创建一个能够包含嵌套项目的待办事项。

看法

<a class="btn btn-success" href="{{route('lists.items.create',4)}}">Create New Item</a>
Run Code Online (Sandbox Code Playgroud)

4 只是一个硬编码的例子,看看它是否有效。

控制器

public function create(TodoList $list, $item_id = null)
{
    dd($item_id);
    return view('items.create', compact('list'));
}
Run Code Online (Sandbox Code Playgroud)

因此,如果您创建一个项目并且不为 id 传递参数,它将默认以null其他方式将其设置为传入的任何内容。但是我得到了一个NotFoundHttpException. 我怎么能做到这一点。

任何帮助欢迎:)

man*_*nix 5

您需要定义路由,例如:

Route::get('create-item/{id}', [
    'as' => 'lists.items.create', 
    'uses' => 'MyController@create'
])
Run Code Online (Sandbox Code Playgroud)

现在,调用路由如下:

<a class="btn btn-success" href="{{route('lists.items.create', ['id' => 4])}}">Create New Item</a>
Run Code Online (Sandbox Code Playgroud)