2017-07-07 74 views
0

我的第一個想法是發送兩個參數到DELETE操作!a laravel5刪除,如何通過2個參數刪除操作

<form action="{{ url('admin/sco/'.$sco->sno,$sco->cno) }}" method="POST" style="display: inline;"> 
    {{ method_field('DELETE') }} 
    {{ csrf_field() }} 
    <button type="submit" class="btn btn-danger">刪除</button> 
</form> 

那麼,它是破壞函數!

public function destroy($sno, $cno) 
{ 
    $query = DB::table('scos')->where('sno', $sno)->where('cno', $cno); 
    $query->delete(); 

    return redirect()->back()->withInput()->withErrors('刪除成功!'); 
} 

,但我得到與NotFoundHttpException

的結果,我認爲這裏存在的問題是我沒有正確傳遞的參數。我該怎麼做? addtional information: 'sno'表示學生號碼, 'cno'表示班級編號, 我必須用這兩個數字刪除特定的記錄。

+2

看來你'url'是問題。把它改成'url('admin/sco /'。$ sco-> sno''''。$ sco-> cno)' –

+1

請你爲此顯示'Route'? –

+1

你可以告訴我們你的'routes/web.php'文件中的路由定義嗎? – Jerodev

回答

1

嘗試這種解決方案:

路線

Route::post('/admin/sco/{sno}/{cno}', '[email protected]_action')->name('sco.delete'); 

意見

<form action="{{ route('sno.delete', ['sno' => $sco->sno, 'cno' => $sco->cno]) }}" method="POST" style="display: inline;"> 

希望它可以幫助你:)

+0

我解決了問題,當我改變像這樣,路線:: any('/管理員/ sco/{sno}/{cno}','Admin \ ScoController @ destroy') - > name('sco.delete');但我不知道爲什麼後不工作! – Victor