这是嵌套雄辩的正确方法吗

时间:2019-06-12 10:05:01

标签: laravel eloquent

第一部分带有itemreceive的作品。但是第二部分,调度项不起作用。

我正在检索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 :(得分:0)

您为with输入了错误的语法。您需要在“ with”中插入一个数组。请使用以下代码:

$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();