Php 未定义变量:术语

Php 未定义变量:术语,php,laravel,Php,Laravel,我正在创建一个包含两个不同表的搜索栏。我收到一条错误消息: 未定义变量:术语 你有什么想法吗?我真的被卡住了 问候 编辑:供参考 表反馈: id、说明、描述、fk_候选人 表候选人 id、name、firstname您正在使用$term{但$term尚未定义 if($req->search == ""){ $feedbacks = Feedback::paginate(5); return view('admin.feedbacks.index', compa

我正在创建一个包含两个不同表的搜索栏。我收到一条错误消息: 未定义变量:术语

你有什么想法吗?我真的被卡住了

问候

编辑:供参考

表反馈: id、说明、描述、fk_候选人

表候选人 id、name、firstname

您正在使用$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'))
}

$term不存在于该函数范围内。您正在使用变量$term,但它没有在代码中定义。您打算从何处获取$term?我建议传递$req变量,而不是创建另一个变量,这样做没有任何实际好处。@RossWilson我尝试对初始代码进行一些小的更改,这是一个很好的、清晰的答案:@Davit:than我的问题是解决…你是最棒的!!!:-非常感谢。
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'))
}