Laravel 将数据传递给控制器

Laravel Passing Data to Controller

我刚开始学习 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 否则将其设置为传入的任何值。但是我得到一个 NotFoundHttpException.我怎样才能做到这一点。

任何帮助欢迎 :)

您需要定义路线,例如:

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>