如何使用户和角色关系在laravel 5? [英] How to make user, and roles relationship in laravel 5?

查看:231
本文介绍了如何使用户和角色关系在laravel 5?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两张表:

 用户 - > 
id:
name:
role_id: - > refernces('id') - > on('roles');

角色 - >
id:
role_name:
访问:

我正在尝试



我的用户模型有:

  public function role(){
return $ this-> belongsTo('App \Role');
}

我的角色模型有:

  public function user(){
return $ this-> hasMany('App\User');
}

当我尝试执行以下操作:

  $ user = User :: find(1); 

$ details = [
'name'=> $ user-> first_name,
'role'=> $ user-> role-> role_name

];

我收到错误:

 尝试获取非对象的属性

我的角色表包含​​访问列包含不同路由的权限数组。所以我的用户只有一个角色。虽然角色可以有多个用户。
如何做?

解决方案

我遇到问题,我在用户表中有一个角色列,所以当我在做

  $ user-> role-> role_name 
/ pre>

它正在获取角色列而不是关系。


I have two tables :

User ->
 id : 
 name : 
 role_id : ->refernces('id')->on('roles');

Roles ->
 id :
 role_name :
 access :

I am trying to access roles details from user.

My user model has :

public function role(){
        return $this->belongsTo('App\Role');
    }

My role model has :

public function user(){
      return $this->hasMany('App\User');
  }

When I try to do following :

$user = User::find(1);

        $details = [
            'name' => $user->first_name,
            'role' => $user->role->role_name

        ];

I get error :

Trying to get property of non-object

My roles table contains access columns containing array of permissions to different routes. So my user will have only one role. While a role can have multiple users. How to do that?

解决方案

I got the problem, i was having a role column in user table, so when i was doing

$user->role->role_name

it was fetching role column instead of relationship.

这篇关于如何使用户和角色关系在laravel 5?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆