在尋找頁面之前我想檢查id是否存在,所以如果我沒有找到它,放棄尋找我嘗試如下:
public function search(Request $request)
{
$id = $request->input('id');
$search_results=Produto::findOrFail($id);
if($search_results==null){
return 'not found !!!'
}else{
return view('produtos.show',['produto'=> $search_results ,'id'=>$id]);
}
}
如何在發送前檢查資料庫?
uj5u.com熱心網友回復:
檢查 $search_results 變數就足夠了。我將 findOrFail 更改為 find 因為 findOrFail 可能會引發錯誤。
public function search(Request $request) {
$search_results = Produto::find($request->input('id'));
if ($search_results == NULL) {
abort(404);
}
return view('produtos.show', ['produto' => $search_results, 'id' => $request->input('id')]);
}
uj5u.com熱心網友回復:
要顯示 404 頁面,請使用以下代碼:
public function search(Request $request)
{
//if not found it will trigger 404 not found page
$produto = Produto::findOrFail($id = $request->input('id'));
//otherwise it will return the view of produtos.show
return view('produtos.show', compact('produto', 'id'));
}
或者您也可以使用此代碼來使用自定義回傳
public function search(Request $request)
{
$id = $request->input('id');
if($produto = Produto::find($id)) {
return view('produtos.show', compact('produto', 'id'));
}
//otherwise return your error view or message
return 'Not found';
}
uj5u.com熱心網友回復:
你也可以使用:
public function search(Request $request) {
$search_results = Produto::where('id', '=', $request->input('id'))->first();
if ($search_results == NULL) {
abort(404);
}
return view('produtos.show', ['produto' => $search_results, 'id' => $request->input('id')]);
}
uj5u.com熱心網友回復:
您可以使用存在方法。
if (Produto::where('id', $id)->exists()) {
// exists
}
我不確定您的情況,但存在的地方非常有幫助。這是檔案:https ://laravel.com/docs/9.x/queries#where-exists-clauses
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/525714.html
標籤:php拉拉维尔
