如何在用户创建之后更新其他用户的用户组?
需求
用户推荐注册制,在用户注册信息写入数据库之后,在满足某些条件的情况下,需要更新父级的用户组。
问题
user Model里面
public static function boot()
{
parent::boot();
static::created(function(){
//满足条件则更新用户组
User::updateroles();
});
}
updateroles里面判断了条件,条件成立调用了下面的方法 (使用了Zizaco/entrust)
public static function getchildroles($phone,$name)
{
//根据手机号查找第一层子元素
$children = User::where('tphone',$phone)->get();
if(!empty($children))
{
//获取第一层子元素数量
self::$last[$name] = $children->count();
//循环第一层子元素
foreach($children as $child)
{
//获得第一层子元素的用户组
$child_rolename = $child->roles->first()->name;
self::$last[] = $child_rolename;
//获得一层子元素的手机号
$child_phone = $child->phone;
$child_name = $child->name;
self::getchildroles($child_phone,$child_name);
}
}
}
使用 Laravel-Administrator后台添加用户
但是执行到
//获得第一层子元素的用户组
$child_rolename = $child->roles->first()->name;
时出现下面错误
后台用户列表显示用户已经被添加,但是用户组信息是空的:
以上
难道不是应该用户存入表之后再执行created的内容么?如果存入表了,用户组关系应该也写入才对?为何出现空的情况呢?
请问这可能是哪里的问题?
推荐文章: