如何返回BelongsToMany关系中的所有模型

时间:2017-09-12 06:55:21

标签: php laravel-5 eloquent

我在User模型上有如下关系:

public function brands() {
    $roles = config('constants.roles');

    if ($this->hasRole($roles['brand_site_admin'])) {
        return $this->belongsToMany(Brand::class, 'brand_has_users');
    } else 
    if ($this->hasRole($roles['client_admin'])) {
        return $this->belongsToMany(Brand::class, 'brand_has_client_admin');
    }

    // For admin role I want to return all brands, from Brand Model
    // ?? 
}

对于Admin角色,我想返回Brand模型中的所有行,我该怎么做? 这应该是BelongsToMany类的实例,然后只有它不会破坏我的控制器中的代码。

更新

当我$user->brands()时,如果brands是管理员,我想要$user表中的所有品牌(在上面的代码中如果它没有进入任何条件那么它&# 39; s Admin)。

1 个答案:

答案 0 :(得分:0)

我认为你应该按照this SO post中的建议尝试这个,先创建像这样的关系

syn0