123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- declare (strict_types = 1);
- namespace app\admin\model;
- use think\Model;
- /**
- * @mixin \think\Model
- */
- class DataGroup extends Model
- {
- protected $schema=[
- 'id' => '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]));
- }
- }
- }
- }
-
-
- }
|