为一般搜索栏 Laravel 7 加入没有任何唯一 ID 的多个表,给出 sql 错误

Joining multiple tables without any unique id for general search bar Laravel 7 giving sql error

我正在尝试制作一个通用搜索栏,它将从 7 个不同的表中获取相关行,但我在加入 7 个表时遇到问题... 我的代码是

$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 个表中搜索非唯一值如果您有其他好的方法,我也很感激...因为在此查询中将有大量数据要获取... 非常感谢

所以我想post这个答案来帮助别人...

$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 循环...

谢谢