dspows0637 2015-01-18 00:27
浏览 119
已采纳

为什么我的简单laravel查询返回递归?

I have two Eloquent models which are in a one to one relationship: A mission has one vehicle, and a vehicle belongs to one mission.

I have set up the relationships in both of my Models as follows:

class Vehicle extends Eloquent {
    public function mission() {
       return $this->belongsTo('Mission');
    }
}

class Mission extends Eloquent {
    public function vehicle() {
        return $this->hasOne('Vehicle');
    }
}

I am trying to grab an entire mission & vehicle row based on the name of the vehicle:

        $results = Mission::with('vehicle')->whereHas('vehicle', function($q) {
            $q->where('name','Falcon 9 v1.0');
    });

I would expect this to work, yet it does not, and furthermore, returns a recursive Eloquent\Builder object which crashes my browser. Why is this?

  • 写回答

1条回答 默认 最新

  • dpitqpax07626 2015-01-18 00:29
    关注

    You have to call get to get the result:

    $results = Mission::with('vehicle')->whereHas('vehicle', function($q) {
        $q->where('name','Falcon 9 v1.0');
    })->get();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?