laravel – 在非对象上调用成员函数addEagerConstraints()

我收到此错误消息当我尝试从我的模型调用函数时,调用非对象上的成员函数addEagerConstraints().

这是功能:

public static function checkClaimById($claim_id) {
    $result = Claim::with('orders')
        ->find($claim_id)
        ->where('orders.user_id', Auth::user()->id)
        ->whereNull('deleted_at')
        ->count();
    if($result >= 1) {
        return true;
    } else {
        return false;
    }
}

我有模型“声明”,有一个字段order_id,它属于一个订单.
我有模型“订单”,一个订单有许多声明.

有人能帮我吗?

谢谢
问候

最佳答案 我修改了我的功能:

public static function checkClaimById($claim_id) {
    $result = Claim::with(array('orders' => function($query)
    {
        $query->where('user_id', Auth::user()->id);
    }))
    ->where('id', $claim_id)
    ->whereNull('deleted_at')
    ->count();

    if($result >= 1) {
        return true;
    } else {
        return false;
    }
}

在这里找到解决方案:http://laravel.com/docs/eloquent#eager-loading

点赞