Я фильтрую количество товара, но оно не работает. Пожалуйста, помогите мне Имеет 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);