通过Laravel难度

时间:2018-03-13 11:00:17

标签: php laravel

我有一个数据模型,我希望人们能够查看个人记录,然后编辑/添加数据。我设法使视图路由工作;

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

1 个答案:

答案 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变量作为参数传递给所提供的方法。 如果我已经理解了你的需要,那就足够了。