Является ли это правильным способом для вложенных, где имеет красноречивые запросы - PullRequest
0 голосов
/ 12 июня 2019

Первая часть с itemreceive работает.Но вторая часть, dispatchitem не работает.

Я получаю сумму itemreceive и dispatchitem.Я пытаюсь достичь баланса запасов за указанные месяцы.

 $opens = Item::with(['itemreceive'=>function($q) use ($date){
                $q->whereHas('receive', function($query) use ($date){
                    $query->whereDate('datetime', '<=', $date->subMonth()->endOfMonth());
                });
            }], ['dispatchitem'=>function($r) use ($date){
                $r->whereHas('dispatch', function($result) use ($date){
                    $result->whereDate('datetime', '<=', $date->subMonth()->endOfMonth());
                });
            }])
            ->orderBy('id', 'ASC')
            ->get();

I expect both conditions in itemreceive and dispatchitem effective.

1 Ответ

0 голосов
/ 12 июня 2019

Вы ввели неверный синтаксис для с. Вам нужно вставить один массив в «с». Пожалуйста, используйте следующий код:

$opens = Item::with(['itemreceive'=>function($q) use ($date){
    $q->whereHas('receive', function($query) use ($date){
        $query->whereDate('datetime', '<=', $date->subMonth()->endOfMonth());
    });
}, 'dispatchitem'=>function($r) use ($date){
    $r->whereHas('dispatch', function($result) use ($date){
        $result->whereDate('datetime', '<=', $date->subMonth()->endOfMonth());
    });
}])
->orderBy('id', 'ASC')
->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...