Laravel присоединиться и объединить все - PullRequest
0 голосов
/ 24 июня 2018

У меня есть запрос к базе данных.Сейчас он уже работает, но я пытаюсь добавить метод unionAll к этому запросу, я этого не делал.Я хочу объединить две таблицы с помощью метода unionAll.

    $uid = Auth::id();

    $homeCovering = DB::table('bid_requests')
        ->leftJoin('bid_home_coverings', 'bid_requests.id', '=', 'bid_home_coverings.bidId')
        ->where('bid_requests.userId', '=', $uid)
        ->where('district', '!=', null)
        ->get();

    $vehicleCovering = DB::table('bid_requests')
        ->leftJoin('bid_vehicle_coverings', 'bid_requests.id', '=', 'bid_vehicle_coverings.bidId')
        ->where('bid_requests.userId', $uid)
        ->where('district', '!=', null)
        ->get();

1 Ответ

0 голосов
/ 24 июня 2018

Используйте unoinAll() метод, также убедитесь, что вам действительно нужен объединение всех, есть разница между union и union all

$homeCovering = DB::table('bid_requests')
    ->select('bid_requests.*')
    ->leftJoin('bid_home_coverings', 'bid_requests.id', '=', 'bid_home_coverings.bidId')
    ->where('bid_requests.userId', '=', $uid)
    ->where('district', '!=', null);

$bid_requests = DB::table('bid_requests')
    ->select('bid_requests.*')
    ->leftJoin('bid_vehicle_coverings', 'bid_requests.id', '=', 'bid_vehicle_coverings.bidId')
    ->where('bid_requests.userId', $uid)
    ->unionAll($homeCovering)
    ->where('district', '!=', null)
    ->get();

Или вы можете объединить эти запросы в один запрос

$bid_requests = DB::table('bid_requests')
    ->select('bid_requests.*')
    ->leftJoin('bid_vehicle_coverings', 'bid_requests.id', '=', 'bid_vehicle_coverings.bidId')
    ->leftJoin('bid_home_coverings', 'bid_requests.id', '=', 'bid_home_coverings.bidId')
    ->where('bid_requests.userId', $uid)
    ->where('district', '!=', null)
    ->get();

Если вам нужны разные заявки, добавьте ->distinct()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...