'integer', 'title' => 'string', 'type' => 'integer', 'remark' => 'string', 'status' => 'integer', 'is_del' => 'integer', 'addtime' => 'datetime', 'updatetime' => 'datetime', ]; protected $createTime = 'addtime'; protected $updateTime = 'updatetime'; public static $status_on = 1;//状态:1启用 public static $status_off = 0;//状态:0禁用 public static $delete_n = 0;//0未删除 public static $delete_y = 1;//1删除 public static $type_all = 0;//全部(这个值不在数据表里体现,只在业务逻辑处理中作为配置项) public static $type_write = 1;//1可编辑 public static $type_read = 2;//2只读 public static $type_noshare = 3;//3不共享 public function userGroup(){ return $this->hasMany(DataGroupUserid::class,'data_group_id','id')->where(["is_del"=>0])->bind(["uid"]); } public static function checkDataShare(int $uid = 0,int $level=2){ $data = [0=>[],1 => [$uid], 2=> [$uid],3 => []]; $groupid = DataGroupUserid::GroupIdByUid($uid); if(!empty($groupid)){ $group = self::where(['id'=> $groupid,'is_del'=>0,'status'=>1])->field("id,type")->select(); if($group->isEmpty()==false){ $groupIdArr = array_column($group,"id"); $uidArr = DataGroupUserid::UidsByGroupId($groupIdArr); foreach ($group as $item){ $data[$item->type]= array_unique(array_merge($data[$item->type],$uidArr[$item->id])); } } } } }