未定义的变量:术语

时间:2019-03-13 21:01:35

标签: php laravel

我正在尝试制作一个包含2个不同表的搜索栏。我收到一条错误消息: 未定义变量:条款

public function index(Request $req){

     if($req->search == ""){
            $feedbacks = Feedback::paginate(5);
           return view('admin.feedbacks.index', compact('feedbacks'));
     } else {
          $feedbacks = feedback::whereHas('candidats', function($query) use($term){
            $query->where('name', 'like', '%'.$term.'%');
        return view('admin.feedbacks.index', compact('feedbacks'));
     });  

      }

    }

请问您有个主意吗?我真的被困住了。

致谢

编辑:以获取信息

表反馈: id,说明,说明,fk_candidat

餐桌候选 ID,名字,名字

1 个答案:

答案 0 :(得分:1)

您正在使用use($term) {,但尚未定义$term

if($req->search == ""){
        $feedbacks = Feedback::paginate(5);
       return view('admin.feedbacks.index', compact('feedbacks'));
 } else {
      $term = $req->search; 
      $feedbacks = feedback::whereHas('candidats', function($query) use($term){
      $query->where('name', 'like', '%'.$term.'%');
      return view('admin.feedbacks.index', compact('feedbacks'));
 }); 

但是为了获得更好的代码体验

public function index(Request $req) 
{
    if ($req->search == "") {
        $feedbacks = Feedback::paginate(5);
        return view('admin.feedbacks.index', compact('feedbacks'));
    } 

    $feedbacks = feedback::whereHas('candidats', function($query) use($req) {
            $query->where('name', 'like', '%' . $req->search . '%');
        })->paginate(5);
    return view('admin.feedbacks.index', compact('feedbacks'))
}