dspows0637
2015-01-18 00:27 阅读 90
已采纳

为什么我的简单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 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();
    
    点赞 评论 复制链接分享

相关推荐