Как исправить где NotExists и где построитель запросов laravel - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь объединить whereNotExists и где, если вы используете его одновременно, он будет и если вы попробуете один из них, вы можете

    $query = DB::table('tabel_produk')->where('kode_customer',$cust)->whereNotExists(function($query){
$query->select(DB::raw(1))->from('tabel_detail_realisasi')->whereRaw('tabel_detail_realisasi.barcode = tabel_produk.barcode');
})->distinct()->orderBy('barcode','asc') ->get();

Пожалуйста, помоги мне с этим

1 Ответ

0 голосов
/ 26 июня 2019

У меня нет вашей схемы БД, поэтому я попробовал нечто подобное с локальной БД, которая у меня есть, и кажется, что она работает нормально.Смотрите мой пример ниже.Не могли бы вы заменить мой запрос вашим и посмотреть, что выводит регистратор запросов?

    DB::flushQueryLog();
    DB::enableQueryLog();
    $results = DB::table('product_templates')
        //Non deleted products
        ->where('deleted', '=', '0')
        //
        ->whereNotExists(function ($query) {
            //Where the category is not 'General'
            $query
                ->select(DB::raw(1))
                ->from('product_categories')
                ->whereRaw('product_categories.id = product_templates.category_id')
                ->where('product_categories.name', 'General');
        })
        ->distinct()
        ->orderBy('name', 'asc')->get();
    DB::disableQueryLog();
    $queryLog = DB::getQueryLog();
    logger("Query results", compact('results', 'queryLog'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...