Php 如何访问Laravel中的关系
我知道问题的标题不是很清楚,但请阅读完整的问题,因为我需要这方面的帮助 我有三张桌子Php 如何访问Laravel中的关系,php,laravel,laravel-5,laravel-blade,Php,Laravel,Laravel 5,Laravel Blade,我知道问题的标题不是很清楚,但请阅读完整的问题,因为我需要这方面的帮助 我有三张桌子 提议 车辆 修剪 关系是这样的 Offer.php public function vehicle () { return $this->belongsTo(Vehicle::class); } public function trims () { return $this->hasMany(Trim::class); } public function offers () {
- 提议
- 车辆
- 修剪
public function vehicle () {
return $this->belongsTo(Vehicle::class);
}
public function trims () {
return $this->hasMany(Trim::class);
}
public function offers () {
return $this->hasMany(Offer::class);
}
public function vehicle () {
return $this->belongsTo(Vehicle::class);
}
Vehicle.php
public function vehicle () {
return $this->belongsTo(Vehicle::class);
}
public function trims () {
return $this->hasMany(Trim::class);
}
public function offers () {
return $this->hasMany(Offer::class);
}
public function vehicle () {
return $this->belongsTo(Vehicle::class);
}
Trim.php
public function vehicle () {
return $this->belongsTo(Vehicle::class);
}
public function trims () {
return $this->hasMany(Trim::class);
}
public function offers () {
return $this->hasMany(Offer::class);
}
public function vehicle () {
return $this->belongsTo(Vehicle::class);
}
在单一报价中,我可以访问$Offer->vehicle
,但我如何访问此获取车辆的饰件?我试过这个$offer->vehicle->trims
,但它不起作用。它应该可以工作,因为饰件与车辆相关
谢谢
我试过这个$offer->vehicle->trims它不起作用
“不工作”是什么意思?
trims()
将不会返回单个实例,而是必须迭代或以适当方式访问的迭代器。
检查:
您可以像这样获得实例的相关模型
Offers::with('vehicle.trims')->find($id);
如果你想走很长的路,你可以试试
Offers::with(['vehicle' => function($query){
$query->with('trims');
})->find($id);
希望这能有所帮助。您也可以使用即时加载查询-您可以传入一个闭包来处理即时加载内容的查询:
$result = Offer::with(['vehicle' => function($query) {
$query->with('trims');
}])->get();