素材牛VIP会员
Laravel的pluck方法取不到数据,求助
 铁***1  分类:PHP代码  人气:1320  回帖:3  发布于6年前 收藏

这两天研究一下entrust这个包,

先跑一下完整的RBAC流程,结果报了这个错

pluck()方法取不出来数据

这里是代码...

$user这里的链式调用没什么问题啊,,,

研究了一会还是不知其所以然,求助...为什么pluck()方法会取不到数据,很是费解

补充:

这个是打印$user的值;

这个是打印出来$roles的值

取出user表中id与roles表中相等的id,

这里是我的user_role关系表中的数据

没什么问题吧...

....

改成这个

$userRole = $user->roles()->pluck('id','id')->toArray();//

之后,报这个错...

 标签:rbacwebphplaravel

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv5 码农
39***81 PHP开发工程师 6年前#1

不是pluck()取不到数据,是$user->roles返回的是null

Lv6 码匠
阿***灯 页面重构设计 6年前#2

检查下 User模型里面的 roles方法

Lv5 码农
yi***ou CEO 6年前#3

这应该是多对多模型关联,而且定义了一个自定义模型来表示中间表的关联
看看Model里面是否正确定义了这方法,命名空间也可能出错。

class Role extends Model
{
    /**
     * 属于该身份的用户。
     */
    public function users()
    {
        return $this->belongsToMany('App\User')->using('App\UserRole');
    }
}
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取