public function search(Request $request)
{
if ($request->get('search') != '') {
$franchise = DB::table('operators')
->join('franchises', function ($join) {
$join->on('operators.id', '=', 'franchises.operator_id')
->where('case_number', 'like', '%' . $request->get('search') . '%');
})
->get();
return view('franchise-home', compact('franchise'));
} else {
$franchise = DB::table('operators')
->join('franchises', 'operators.id', '=', 'franchises.operator_id')
->get();
return view('franchise-home', compact('franchise'));
}
}
如何同时使用where子句和如何从用户那里获得请求?任何帮助深表感谢。谢谢。
答案 0 :(得分:0)
您需要添加use()来访问变量,例如:
$search = $request->get('search'); // define it before query
...
->join('franchises', function ($join) use($search) { //use it inside
$join->on('operators.id', '=', 'franchises.operator_id')
->where('case_number', 'like', '%' . $search . '%');
})
答案 1 :(得分:0)
下面是排序代码
public function search(Request $request) {
$franchise = DB::table('operators')
->join('franchises', 'operators.id', '=', 'franchises.operator_id')
->when($request->get('search'), function($query) use($request) {
$query->where('case_number', 'like', '%' . $request->get('search');
})
->get();
return view('franchise-home', compact('franchise'));
}