Не работает при использовании метода whereNotIn [laravel] - PullRequest
0 голосов
/ 19 апреля 2020

Я фильтрую количество товара, но оно не работает. Пожалуйста, помогите мне Имеет product_options
=> где количество> 0 и родитель! = Null (нормально, это child) => где количество> 0 и parent_id == null (проверьте, что product_options родительское условие не имеет дочернего элемента)

  $products = Product::where($where)->where('products.status', 1)->leftJoin('product_options', 'products.id', '=', 'product_options.product_id')
                ->where(function ($query) {
                    $query->where(function ($query) {
                        // has option price
                        $query->where(function ($q) {
                            $q->where('product_options.quantity', '>', 0)->whereNotNull('parent_id');
                        })->orWhere(function ($q) {
                            $q->where('product_options.quantity', '>', 0)->whereNotIn('product_options.id', function ($query) {
                                $query->select('parent_id')->from('product_options');
                                 // no working here block
                            });
                        });

                    })->orWhere(function ($query) {
                        //No option
                        $query->where('products.quantity', '>', 0)->whereNotIn('products.id', function ($query) {
                            $query->select('product_id')->from('product_options');
                        });
                    });
                })->select('products.*')->groupBy(['products.id'])->orderBy($orderBy, $order)->paginate($rows);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...