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

Why is my simple laravel query returning a recursion?

我有两个 Eloquent 模型,它们是一对一的关系:一个 mission 有一个 vehicle,一个 vehicle 属于一个 [=13] =].

我已经在我的两个模型中建立了如下关系:

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

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

我正在尝试根据车辆名称获取整个任务和车辆行:

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

我希望它能工作,但它没有,此外,returns 一个递归 Eloquent\Builder 对象使我的浏览器崩溃。这是为什么?

您必须调用 get 才能得到结果:

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