10
在我Laravel应用程序,我有以下类:HasManyThrough多态和许多一对多关系
class Product extends Model
{
public function extended()
{
return $this->morphTo();
}
public function users {
return $this->belongsToMany('App\User', 'products_users', 'product_id');
}
}
class Foo extends Model
{
public function product()
{
return $this->morphOne('App\Product', 'extended');
}
public function bars()
{
return $this->hasMany('App\Bar');
}
}
class Bar extends Model
{
public function product()
{
return $this->morphOne('App\Product', 'extended');
}
public function foo()
{
return $this->belongsTo('App\Foo');
}
}
class User extends Model
{
public function products()
{
return $this->belongsToMany('App\Product', 'products_users', 'user_id');
}
}
我可以很容易地得到使用Bar::find(1)->product->users
酒吧对象的用户,我也可以得到一个酒吧用户User::find(1)->products
。
如何获得属于特定foo的所有酒吧的用户?也就是说,Foo::find(1)->users
应该返回有属于ID为1到foo它基本上hasManyThrough多态和许多一对多关系吧的所有用户。
这似乎包括不与给定富 –
使用,而不是一个'GET'语句'find'声明,那么用户:'$美孚=静::用([“酒吧”,“酒吧。产品','bars.product.users']) - > find($ this-> id);'(假设你的主键是'id') –