Laravel多个关系项的集合

Mig*_*ens 0 php laravel

我有一个拥有许多商店的用户,而且商店有很多产品

现在我想知道,有没有办法可以为这个用户收集所有产品的集合.

无需经过他所拥有的商店.

当前方法,返回带有产品的商店集合而不是产品集合

$products = \Auth::user()->shops()->with('products')->get();
Run Code Online (Sandbox Code Playgroud)

Phu*_*nky 5

您需要定义HasManyThrough关系

class User extends Model
{
    ...
    public function products()
    {
        return $this->hasManyThrough('App\Product', 'App\Shop');
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)