AuthGroup.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace app\admin\model;
  3. use think\Model;
  4. class AuthGroup extends Model
  5. {
  6. // 开启自动写入时间戳字段
  7. protected $autoWriteTimestamp = 'int';
  8. // 定义时间戳字段名
  9. protected $createTime = 'createtime';
  10. protected $updateTime = 'updatetime';
  11. public function getNameAttr($value, $data)
  12. {
  13. return __($value);
  14. }
  15. /**
  16. * 获取角色组权限
  17. * @param $group_id
  18. * @return mixed
  19. */
  20. public static function getRulesByGroupId($group_id)
  21. {
  22. $rules = self::where('id',$group_id)
  23. ->value('rules');
  24. return $rules;
  25. }
  26. public static function getProtectCountById($id)
  27. {
  28. $protect_count = self::where('id',$id)
  29. ->value('protect_count');
  30. return $protect_count;
  31. }
  32. // 获取所有子级id
  33. public static function getSubs($arr, $pid){
  34. // 拿到所有数据
  35. static $ids = [];
  36. foreach ($arr as $value){
  37. if($value['pid'] == $pid){
  38. $ids[] = $value['id'];
  39. $ids = array_merge($ids, self::getSubs($arr, $value['id'])) ;
  40. }
  41. }
  42. return array_unique($ids);
  43. }
  44. }