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

时间:2013-12-10 12:22:01

标签: laravel laravel-4

我收到此错误msg当我尝试从我的模型调用函数时,在非对象上调用成员函数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,它属于一个订单。 我有模型“订单”,一个订单有很多索赔。

有人可以帮助我吗?

感谢 此致

1 个答案:

答案 0 :(得分:2)

我修改了我的功能:

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

相关问题