访问另一个模型上的关系

Access to relation on another model

我有三个表,Owner、Garages、Orders 所有者有“n”个车库,每个车库属于一个所有者, 每个车库可以有很多订单, 现在是否可以仅从具有关系实例的 Owner 模型获取订单? 所有者模型:

public function garages()
{
    return $this->hasMany(Garage::class);
}

车库模型:

public function owner()
{
    return $this->belongsTo(Owner::class);
}
public function orders()
{
    return $this->hasMany(Order::class);
}

首先,您应该详细说明您的模型是如何定义的。猜测你的数据库模式如何,你必须修复你的关系:

Owner.php

public function garages()
{
    return $this->hasMany(Garage::class);
}

public function orders()
{
    return $this->hasManyThrough(Order::class, Garage::class);
}
Garage.php

public function owner()
{
    return $this->belongsTo(Owner::class);
}

public function orders()
{
    return $this->hasMany(Order::class);
}
Order.php 

public function garage()
{
    return $this->belongsTo(Garage::class);
}

话虽如此,您可以通过

访问您所有者的订单
$owner = Owner::findOrFail($owner_id);
$orders = $owner->orders;