是否可以使用ORM Eloquent创建此查询?我不是口才专家……
SELECT
users.id as user_id,
sales.id as sales_id,
stores.id as storeId,
chainstores.id as chainstoreId,
CONCAT(customers.firstname, ' ', customers.lastname) as name,
users.name as seller,
sales.cupom,
sales.price,
sales.redem_value,
chainstores.name as chanstore,
stores.name as store,
IF(
(SELECT balances.id FROM balances WHERE balances.chainstore_id = chainstores.id AND balances.customer_id = customers.id LIMIT 1),
'0.00',
(SELECT redeemrules.redeem FROM redeemrules WHERE redeemrules.chainstore_id = chainstores.id LIMIT 1)
) as balance,
sales.created_at,
sales.redemption_date
FROM customers
INNER JOIN sales ON customers.id = sales.customer_id
INNER JOIN users ON sales.user_id = users.id
INNER JOIN chainstores ON chainstores.id = customers.chainstore_id
INNER JOIN stores ON stores.id = customers.store_id
WHERE
chainstores.id = _chainstoreId AND
stores.id = _storeId AND
DATE(sales.created_at) = _day ORDER BY sales.created_at DESC;
关于性能,此查询根据“ where”参数而有所不同,创建存储过程并仅使用Eloquent进行调用是否可行,还是可以仅使用它创建这些类型的查询?
我有这些变化:
MONTH(sales.created_at) = MONTH(_month)
AND YEAR(sales.created_at) = YEAR(_month)
ORDER BY sales.created_at DESC;
和
YEAR(sales.created_at) = YEAR(_year)
ORDER BY sales.created_at DESC;
表格