简体   繁体   English

laravel,如果route为null或不存在,则重定向到其他页面

[英]laravel if route is null or not existing redirect to other page

i have a route is it possible that when the {id} does not exist it will redirect to a certain page or custom error page? 我有一条路线,当{id}不存在时,它将重定向到某个页面还是自定义错误页面? something like if(id=null){return redirect etc..} 类似于if(id = null){返回重定向等。}

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'));
   }

 }

You may try the following if you don't want to change your current data structure of 如果您不想更改当前的数据结构,可以尝试以下方法
view file. 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'));
}

Inside your method get_term_level you could to the following 在您的方法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'));
}

You could just have a route that redirects 您可能只有一条重定向的路线

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

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

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