我有两个 Eloquent 模型,它们是一对一的关系:一个 mission
有一个 vehicle
,一个 vehicle
属于一个任务
。
我已经在我的两个模型中建立了如下关系:
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');
});
我希望它能工作,但它没有,而且,返回一个递归的 Eloquent\Builder
对象,这让我的浏览器崩溃了。这是为什么?
最佳答案
您必须调用get
来获取结果:
$results = Mission::with('vehicle')->whereHas('vehicle', function($q) {
$q->where('name','Falcon 9 v1.0');
})->get();
关于php - 为什么我的简单 Laravel 查询返回递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28005893/