dspows0637 2015-01-17 16: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-17 16: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();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部