我对Eloquent有疑问,如何显示购买价格为0的产品总和。
我的模型发票和方法产品
public function products()
{
return $this->belongsToMany(Product::class)->withPivot('quantity', 'product_name', 'net_unit_price', 'gross_unit_price', 'purchase_price');
}
我的模型产品和方法发票
public function invoices()
{
return $this->belongsToMany(Invoice::class);
}
我需要一笔款项-本月出售的发票中的net_unit_price,例如
$sellMonthReplace = $user->invoices()
->with(['products' => function ($query) {
$query->wherePivot('purchase_price', '=', '0');
}])
->whereNull('parent_id')
->where('incoming', '=', '0')
->whereNull('is_proforma')
->where('sell_date', '>', $now->format('Y-m-01'))
->sum('net_value');
但这不起作用。
下面的代码很好用,但它是原始SQL,我不知道该怎么做
select SUM(invoice_product.net_unit_price*invoice_product.quantity)
from homestead.invoices
join homestead.invoice_product on invoice_product.invoice_id = invoices.id
where invoices.sell_date > 2019-03-01
and invoices.incoming = 0
and invoices.parent_id is null
and invoices.is_proforma is null
and invoice_product.`purchase_price` = 0
有人可以帮助我吗?预先谢谢你
答案 0 :(得分:0)
您是否尝试缩短查询以确保您的关系正常运行?
$ user变量是否也正确填充?
$ sellMonthReplace的转储返回给您什么?