Php 如何使用laravel中的post链接获取帖子id

Php 如何使用laravel中的post链接获取帖子id,php,laravel,Php,Laravel,我试图使用链接到更新表单所在页面的更新按钮更新数据库中的记录,但每次单击按钮时,都会出现404错误(我想问题可能是页面无法读取请求帖子的id) 这是我的路线 Route::get('/pages/update/{id}','CallsController@edit'); Route::post('/pages/update/{id}','CallsController@update'); 我的呼叫控制器 public function edit($id) { // $c

我试图使用链接到更新表单所在页面的
更新按钮更新数据库中的记录,但每次单击按钮时,都会出现404错误(我想问题可能是页面无法读取请求帖子的
id

这是我的路线

Route::get('/pages/update/{id}','CallsController@edit');
Route::post('/pages/update/{id}','CallsController@update');
我的呼叫控制器

public function edit($id)
    {
        // $calls = Call::where('user_id', auth()->user()->id)->where('id', $id)->first();
        // return view('pages.assignCall', compact('calls', 'id'));

        $calls = Call::find($id);
        return view('pages.assignCall')->with('calls', $calls);
    }

public function update(Request $request, $id)
    {
        $calls = new Call();
        $data = $this->validate($request, [
            'call_details'=>'required',
        ]);
        $data['id'] = $id;
        $calls->updateCall($data);

        return redirect('pages.pendingCalls');
    }
我的视图中的
pages
文件夹中也有
update.blade.php

这是我的更新按钮

<a href="{{asset('/pages/update')}}>update</a>

您不应使用资产帮助程序生成URL,而应使用。此外,您还必须传递要更新的项目的id。因为这个不见了,你会得到一个404

你应该这样做:

<a href="{{ url('/pages/update/{$page->id}') }}">update</a>

您不应使用资产帮助程序生成URL,而应使用。此外,您还必须传递要更新的项目的id。因为这个不见了,你会得到一个404

你应该这样做:

<a href="{{ url('/pages/update/{$page->id}') }}">update</a>

您可以使用laravel名称路由。如果您使用名称route,那么您的路由应该如下所示

Route::get('/pages/update/{id}','CallsController@edit')->name('pages.update.view');
Route::post('/pages/update/{id}','CallsController@update')->name('pages.update');
<a href="{{ route('pages.update.view', $call->id) }}">update</a>
你的更新按钮应该是这样的

Route::get('/pages/update/{id}','CallsController@edit')->name('pages.update.view');
Route::post('/pages/update/{id}','CallsController@update')->name('pages.update');
<a href="{{ route('pages.update.view', $call->id) }}">update</a>

您可以使用laravel名称路由。如果您使用名称route,那么您的路由应该如下所示

Route::get('/pages/update/{id}','CallsController@edit')->name('pages.update.view');
Route::post('/pages/update/{id}','CallsController@update')->name('pages.update');
<a href="{{ route('pages.update.view', $call->id) }}">update</a>
你的更新按钮应该是这样的

Route::get('/pages/update/{id}','CallsController@edit')->name('pages.update.view');
Route::post('/pages/update/{id}','CallsController@update')->name('pages.update');
<a href="{{ route('pages.update.view', $call->id) }}">update</a>

将此按钮替换为更新按钮将此按钮替换为更新按钮