Проблема с красноречивым Laravel - PullRequest
0 голосов
/ 20 марта 2019

У меня есть проблема с Eloquent, как показать сумму продуктов с нулевой ценой покупки.

мой счет-фактура модели и метод продуктов

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

кто-нибудь может мне помочь?заранее спасибо

1 Ответ

0 голосов
/ 20 марта 2019

Вы пытались сократить свой запрос, чтобы убедиться, что ваши отношения работают?

Также правильно ли заполнена переменная $ user?

Что возвращает вам дамп $ sellMonthReplace?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...