1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
public function ScopeOuiKO(Builder $builder)
{
return $builder
->leftJoin('orders_items','orders_items.order_id', '=', 'orders.id')
->leftJoin('products_versions', 'products_versions.id', '=', 'orders_items.product_version_id')
->leftJoin('products_versions_attributes', 'products_versions_attributes.product_version_id', '=', 'products_versions.id')
->leftJoin('attributes', static function($join) {
$join
->on('attributes.id', '=', 'products_versions_attributes.attribute_id')
->where('attributes.attribute_group_id', '!=', 5); // Not attributes boolean
})
->leftJoin('attributes_translate', static function($join){
$join
->on('attributes_translate.attribute_id', '=', 'attributes.id')
->where('attributes_translate.culture_id', '=', 1);
})
->leftJoin('products', 'products.id', '=', 'products_versions.product_id')
->leftJoin('products_translate', static function($join){
$join
->on('products_translate.product_id', '=', 'products.id')
->where('products_translate.culture_id', '=', 1);
})
->leftJoin('shippings_options_prices', 'shippings_options_prices.id', '=', 'orders.shipping_price_id')
->leftJoin('shippings_options', 'shippings_options.id', '=', 'shippings_options_prices.shipping_option_id')
->leftJoin('shippings_options_translate', static function($join){
$join
->on('shippings_options_translate.shipping_option_id', '=', 'shippings_options.id')
->where('shippings_options_translate.culture_id', '=', 1);
})
//->whereIn('orders.status', ['confirmed','prepared','shipped','cancelled'])
->where('orders.status', '!=','cart')
->where('orders.pay', '=', 1)
->whereNull('exported_at')
->groupBy(['orders.order_number', 'products_versions.reference','orders_items.personalize'])
->select([
'orders.order_number AS number',
'orders.pay_date AS date',
DB::raw('IFNULL(CONCAT(products_translate.label, \' - \', attributes_translate.label), products_translate.label) as article'),
'orders_items.personalize as pseudo',
'products_versions.reference AS sku',
'orders_items.quantity AS quantité',
'shippings_options_translate.label AS livraison',
'orders.shipping_country AS pays',
'products_versions.weight as poids',
'orders.pay_type as paiement',
'orders.status'
])
;
} |