Laravel范围与方法Model :: all()无效

时间:2018-03-22 12:40:39

标签: php laravel

我有以下代码:

$orders = Order::all();
$count = $orders->count();
$ordersActive = $orders->during()->count(); //this not working, I get undefined method during

我在模型Order中定义了范围:

public function scopeDuring($query)
{
    $query->whereNotIn('stat', [1,2,3,4]);
}

我得到未定义的方法during

非常感谢任何解决此问题的帮助。

2 个答案:

答案 0 :(得分:1)

试试这段代码 如果您想获得所有订单,请使用此

$orders = Order::all();

如果您想获得有关范围的订单,请使用此

$ordersActive = Order::during()->get();

之后,您将通过这些查询得到计数

$count = $orders->count();
$ordersActiveCount = $ordersActive->count();

答案 1 :(得分:0)

您已获得该集合,因此您无法使用该模型的方法。而不是这样你应该这样做:

$count = Order::count();
$ordersActive = Order::during()->count();