我有一个数据模型,我希望人们能够查看个人记录,然后编辑/添加数据。我设法使视图路由工作;
Route::get('/data/{data_token}', 'DataController@show');
Data_token是一个唯一的字符串。然后使用此DataController函数;
Public function show($data) {
$data = Data::where('data_token',$data)->first();
return view('data.show', compact('data'))
}
之后我可以在页面上显示数据,并有一个用于编辑的表格(实际上它用于添加不存在的数据,但无论如何,相同的原则权利。)
在data.show视图的表单上,我将其发送到另一个视图;
Route::get('/data/{data_token}/edit', 'DataController@edit');
这可以使用$ request变量来返回表单值,但是我无法将它与我之前编辑的数据行相关联?
如何将{data_token}传递给控制器的编辑功能?
编辑(添加路线文件)
注意到我在帖子路线中忘记了{' data_token'}。
/ Begs forgiveness
答案 0 :(得分:1)
我认为您误解了路线和控制器的工作原理。您正在查看的是一个相当简单的CRUD设置,如下所示;
public function show($dataToken) { ... }
public function edit($dataToken) { ... }
public function update($dataToken, Request $request) { ... }
现在你的控制器会有;
<form action="{{ route('DataController@update') }}" method="post">
然后您就可以在编辑视图中显示您的表单了;
itemE()
:bookList(new BOOK)
{
count = 0;
m_addThread = thread([this]() { add(bookList->bookName); });
}
Laravels路由器将始终尝试将URI变量作为参数传递给所提供的方法。 如果我已经理解了你的需要,那就足够了。