Laravel 5.4 where 子句 if $request->jobTitle !null?
Laravel 5.4 where clauses if $request->jobTitle !null?
我构建了小型搜索表单帮助我从 db
中搜索职位Table
jobs Table 有 jobTitle、jobCompany、jobGovernorate、jobLocation 和 created_at 列
并从搜索表单发布数据:
{"jobTitle":"designer","jobCompany":null,"jobGovernorate":null,"jobLocation":null,"postingDate":"ad"}
我的意思是某些输入可能为空,因此如何为输入编写动态 where 子句具有价值,我希望搜索引擎能够通过 JobTitle、JobCompany 或所有输入(如果具有价值)进行搜索。
提示:字段名称和 table 列名称相同
如果有办法从我的数据库中检索工作,例如
DB::table('jobs')->where($request->all())
抱歉英语不好,我不知道怎么解释我的问题
您必须对查询进行编码,我的意思是,您在寻找什么?
像
DB::table('jobs')->where([
['jobTitle', 'like', $request->jobTitle . '%'],
['jobCompany', 'like', $request->jobCompany . '%']])->get();
我更喜欢定义所有搜索字段。
$searchFields = ['jobTitle','jobCompany','jobGovernorate','jobLocation','postingDate'];
$jobQuery = DB::table('jobs');
foreach ($searchFields as $field) {
if ($request->has($field)) {
$jobQuery->where($field, $request->input($field));
}
}
$results = $jobQuery->get();
我构建了小型搜索表单帮助我从 db
中搜索职位Tablejobs Table 有 jobTitle、jobCompany、jobGovernorate、jobLocation 和 created_at 列
并从搜索表单发布数据:
{"jobTitle":"designer","jobCompany":null,"jobGovernorate":null,"jobLocation":null,"postingDate":"ad"}
我的意思是某些输入可能为空,因此如何为输入编写动态 where 子句具有价值,我希望搜索引擎能够通过 JobTitle、JobCompany 或所有输入(如果具有价值)进行搜索。
提示:字段名称和 table 列名称相同
如果有办法从我的数据库中检索工作,例如
DB::table('jobs')->where($request->all())
抱歉英语不好,我不知道怎么解释我的问题
您必须对查询进行编码,我的意思是,您在寻找什么? 像
DB::table('jobs')->where([
['jobTitle', 'like', $request->jobTitle . '%'],
['jobCompany', 'like', $request->jobCompany . '%']])->get();
我更喜欢定义所有搜索字段。
$searchFields = ['jobTitle','jobCompany','jobGovernorate','jobLocation','postingDate'];
$jobQuery = DB::table('jobs');
foreach ($searchFields as $field) {
if ($request->has($field)) {
$jobQuery->where($field, $request->input($field));
}
}
$results = $jobQuery->get();