【发布时间】:2021-09-18 14:33:39
【问题描述】:
public function find(Request $request)
{
$validatedData = $request->validate([
'search' => 'required|max:255',
]);
$item = $request->search;
$data = DB::table('products')
->join('categories','products.category_id','categories.id')
->join('subcategories','products.sub_category_id','subcategories.id')
->join('sub_of_subcategories','products.sos_category_id','sub_of_subcategories.id')
->select('products.*','categories.slug','categories.category_name','subcategories.sub_category_name','sub_of_subcategories.sub_of_sub_category_name')
->where('products.product_name','LIKE',"%{$item}%")
->orWhere('products.product_code',$item)
->orWhere('categories.category_name','LIKE',"%{$item}%")
->orWhere('subcategories.sub_category_name','LIKE',"%{$item}%")
->orWhere('sub_of_subcategories.sub_of_sub_category_name','LIKE',"%{$item}%")
->orWhere('products.product_description','LIKE',"%{$item}%")
->paginate(40);
return response()->json($data);
}
当我按产品名称或产品代码或产品描述搜索时,它会显示结果。但是,如果我按类别名称或子类别名称搜索,那么它会显示一个空数组。 我该如何解决这个问题?
【问题讨论】:
-
dd()你的$data变量,看看会发生什么。如果它为空,那么你必须修改你的查询。
标签: php laravel laravel-7 laravel-query-builder