我正在尝试制作一个包含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,名字,名字
答案 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'))
}