Out Of Stock Query Updated For Configurable Product

This commit is contained in:
devansh bawari 2021-02-27 18:42:43 +05:30
parent db28d93b71
commit ea3c0874c3
1 changed files with 13 additions and 2 deletions

View File

@ -812,11 +812,22 @@ class ProductRepository extends Repository
* @return Model
*/
public function checkOutOfStockItem($query) {
return $query->leftJoin('products as ps', 'product_flat.product_id', '=', 'ps.id')
return $query
->leftJoin('products as ps', 'product_flat.product_id', '=', 'ps.id')
->leftJoin('product_inventories as pv', 'product_flat.product_id', '=', 'pv.product_id')
->where(function ($qb) {
$qb
->WhereIn('ps.type', ['configurable', 'grouped', 'downloadable', 'bundle', 'booking'])
->where('ps.type', 'configurable')
->whereRaw('
(SELECT SUM(product_inventories.qty)
FROM product_flat
LEFT JOIN product_inventories ON product_inventories.product_id = product_flat.product_id
WHERE product_flat.parent_id = ps.id) > 0
');
})
->orWhere(function ($qb) {
$qb
->WhereIn('ps.type', ['grouped', 'downloadable', 'bundle', 'booking'])
->orwhereIn('ps.type', ['simple', 'virtual'])->where('pv.qty' , '>' , 0);
});
}