Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 7 为常规搜索栏Laravel 7连接多个没有唯一id的表时出现sql错误_Laravel 7 - Fatal编程技术网

Laravel 7 为常规搜索栏Laravel 7连接多个没有唯一id的表时出现sql错误

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

我正在尝试制作一个通用搜索栏,它将从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个表中搜索非唯一值。。。因为在此查询中将有大量数据要获取。。。
非常感谢

所以我想发布答案以帮助其他人

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

谢谢