如果路由为空或不存在,则重定向到其他页面



我有一条路由,当 {id} 不存在时,它是否有可能重定向到某个页面或自定义错误页面? 类似 if(id=null({return redirect etc.}

Route::get('term/test/{id}', 'ListController@get_term_level');

public function get_term_level($id)
{
// $terms = Term::find($id);
$terms=Term::with('level')->where('id','=',$id)->get();
if(is_null($terms)) { 
return redirect()->to('/mypage');
}
else{
return view('term_level.index',compact('terms'));
}
}

如果您不想更改view文件的当前数据结构
,可以尝试以下方法。

public function get_term_level($id)
{
// $terms = Term::find($id);
$terms = Term::with('level')->where('id','=',$id)->get();
if ($terms->count() === 0) { 
return redirect()->to('/mypage');
} 
return view('term_level.index', compact('terms'));
}

在您的方法中,您可以get_term_level

以下内容
public function get_term_level($id)
{
$terms = Term::with('level')->where('id','=',$id)->get();
if($terms->isEmpty()) { 
return redirect()->to('/mypage');
}
return view('term_level.index',compact('terms'));
}

你可以有一个重定向的路由

Route::get('term/test', 'ListController@redirectHereFunction');
Route::get('term/test/{id}', 'ListController@get_term_level');

最新更新