Tom*_*ald 7 php rest laravel eloquent laravel-4
我有一个与车辆相关联的RepairRequest模型.
class RepairRequest extends \Eloquent {
public function vehicle() {
return $this->belongsTo('Vehicle');
}
}
class Vehicle extends \Eloquent {
public function requests() {
return $this->hasMany('RepairRequest');
}
}
Run Code Online (Sandbox Code Playgroud)
我想获得与给定RepairRequest相关联的车辆的所有RepairRequests,所以我这样做
return RepairRequests::find($id)->vehicle->requests;
Run Code Online (Sandbox Code Playgroud)
这很好用.
但是,RepairRequests有RepairItems:
// RepairRequest class
public function repairItems() {
return $this->hasMany('RepairItem', 'request_id');
}
// RepairItem class
public function request() {
return $this->belongsTo('RepairRequest', 'request_id');
}
Run Code Online (Sandbox Code Playgroud)
我也想回来,所以我这样做
return RepairRequests::find($id)->vehicle->requests->with('repairItems');
Run Code Online (Sandbox Code Playgroud)
但我得到以下异常:
Call to undefined method Illuminate\Database\Eloquent\Collection::with()
Run Code Online (Sandbox Code Playgroud)
我怎么写这个,以便返回的json包含RepairRequest json中的RepairItems?
使用loadCollection上的方法加载相关模型:
return RepairRequests::find($id)->vehicle->requests->load('repairItems');
Run Code Online (Sandbox Code Playgroud)
这基本上与:
$repairRequest = RepairRequests::with('vehicle.requests.repairItems')->find($id);
return $repairRequest->vehicle->requests;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7484 次 |
| 最近记录: |