繁体   English   中英

如何使用laravel中的帖子链接获取帖子ID

[英]how to get a post id using post link in laravel

我试图使用链接到更新表单所在页面的update button来更新数据库中的记录,但是每次我单击该按钮时,都会收到404错误(我认为问题可能在于该页面可能无法读取所请求帖子的id )。

这是我的路线

Route::get('/pages/update/{id}','CallsController@edit');
Route::post('/pages/update/{id}','CallsController@update');

我的CallsController

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,而应使用url helpers 此外,您还必须传递要更新的商品的ID。 因为缺少此字段,所以您得到404。

您应该执行以下操作:

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

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

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM