Laravel 7 为常规搜索栏Laravel 7连接多个没有唯一id的表时出现sql错误
我正在尝试制作一个通用搜索栏,它将从7个不同的表中获取相关行,但我在连接7个表时遇到问题。。。 我的代码是Laravel 7 为常规搜索栏Laravel 7连接多个没有唯一id的表时出现sql错误,laravel-7,Laravel 7,我正在尝试制作一个通用搜索栏,它将从7个不同的表中获取相关行,但我在连接7个表时遇到问题。。。 我的代码是 $query = $request->input('query'); $products = DB::table('manual_sellers') ->join('car_dealerships','manual_sellers.car_dealerships','=','') ->where('car_title' , 'like', &qu
$query = $request->input('query');
$products = DB::table('manual_sellers')
->join('car_dealerships','manual_sellers.car_dealerships','=','')
->where('car_title' , 'like', "%$query%")
->orWhere('make', 'like', "%$query%")
->orWhere('make', 'like', "%$query%")
->orWhere('model', 'like', "%$query%")
->orWhere('manufact_year', 'like', "%$query%")
->orWhere('car_body', 'like', "%$query%")
->get();
当尝试搜索时,它会抛出错误
如果您有其他好的方法,我如何从7个表中搜索非唯一值。。。因为在此查询中将有大量数据要获取。。。
非常感谢所以我想发布答案以帮助其他人
$query = $request->input('query');
$products1 = DB::table('car_dealerships')
->where('car_title' , 'like', "%$query%")
->orWhere('make', 'like', "%$query%")
->orWhere('model', 'like', "%$query%")
->orWhere('manufact_year', 'like', "%$query%")
->orWhere('car_body', 'like', "%$query%")
->get();
$products2 = DB::table('manual_sellers')
->where('car_title' , 'like', "%$query%")
->orWhere('make', 'like', "%$query%")
->orWhere('model', 'like', "%$query%")
->orWhere('manufact_year', 'like', "%$query%")
->orWhere('car_body', 'like', "%$query%")
->get();
在做了两个变量之后,我简单地像这样合并了数组
$data = $products1->merge($products2);
这对我来说很有用,因为我以前尝试的方法只是在一个数组中收集数组,需要两个foreach循环来呈现值,这是一种痛苦
但通过这样的合并,它将来自其父数组的所有数组合并到一个父数组中,在那里我只得到了一个所需的foreach循环
谢谢所以我想把答案贴出来帮助别人
$query = $request->input('query');
$products1 = DB::table('car_dealerships')
->where('car_title' , 'like', "%$query%")
->orWhere('make', 'like', "%$query%")
->orWhere('model', 'like', "%$query%")
->orWhere('manufact_year', 'like', "%$query%")
->orWhere('car_body', 'like', "%$query%")
->get();
$products2 = DB::table('manual_sellers')
->where('car_title' , 'like', "%$query%")
->orWhere('make', 'like', "%$query%")
->orWhere('model', 'like', "%$query%")
->orWhere('manufact_year', 'like', "%$query%")
->orWhere('car_body', 'like', "%$query%")
->get();
在做了两个变量之后,我简单地像这样合并了数组
$data = $products1->merge($products2);
这对我来说很有用,因为我以前尝试的方法只是在一个数组中收集数组,需要两个foreach循环来呈现值,这是一种痛苦
但通过这样的合并,它将来自其父数组的所有数组合并到一个父数组中,在那里我只得到了一个所需的foreach循环
谢谢