getChangedData(); //如果有修改密码 if (isset($changed['password'])) { if ($changed['password']) { $salt = \fast\Random::alnum(); $row->password = \app\common\library\Auth::instance()->getEncryptPassword($changed['password'], $salt); $row->salt = $salt; } else { unset($row->password); } } //email查重 if (isset($changed['email'])) { if($changed['email']){ $exists = db('coach')->where('email', $changed['email'])->where('id', '<>', $row->id)->find(); if ($exists) { abort(500,'email已经被使用'); } $exists = db('user')->where('email', $changed['email'])->find(); if ($exists) { abort(500,'email已经被用户使用'); } } } }); self::beforeInsert(function ($row) { if (isset($row['password'])) { if ($row['password']) { $salt = \fast\Random::alnum(); $row->password = \app\common\library\Auth::instance()->getEncryptPassword($row['password'], $salt); $row->salt = $salt; } else { unset($row->password); } } //email查重 if($row['email']){ $exists = db('coach')->where('email', $row['email'])->find(); if ($exists) { abort(500,'email已经被使用'); } $exists = db('user')->where('email', $row['email'])->find(); if ($exists) { abort(500,'email已经被用户使用'); } }else{ abort(500,'email不能为空'); } }); } public function getGenderList() { return ['1' => __('Gender 1'), '0' => __('Gender 0')]; } public function getStatusList() { return ['0' => __('Status 0'), '1' => __('Status 1')]; } public function getBgcolorList(){ return $bgcolorList = [ ['id' => 1, 'val' => '#E6EEFF'], ['id' => 2, 'val' => '#BACFFE'], ['id' => 3, 'val' => '#2D6CFB'], ['id' => 4, 'val' => '#1380A3'], ['id' => 5, 'val' => '#125B8F'], ['id' => 6, 'val' => '#0272C1'], ['id' => 7, 'val' => '#001D86'], ['id' => 8, 'val' => '#001253'], ['id' => 9, 'val' => '#E5DEF6'], ['id' => 10, 'val' => '#C7B8EC'], ['id' => 11, 'val' => '#A231A5'], ['id' => 12, 'val' => '#C53E99'], ['id' => 13, 'val' => '#A61C79'], ['id' => 14, 'val' => '#7852D2'], ['id' => 15, 'val' => '#6033CA'], ['id' => 16, 'val' => '#6D084C'], ['id' => 17, 'val' => '#FFF7CD'], ['id' => 18, 'val' => '#FAB41D'], ['id' => 19, 'val' => '#FF9F00'], ['id' => 20, 'val' => '#D28300'], ['id' => 21, 'val' => '#FA650E'], ['id' => 22, 'val' => '#CA4B00'], ['id' => 23, 'val' => '#712A00'], ['id' => 24, 'val' => '#441900'], ['id' => 25, 'val' => '#DCEEDA'], ['id' => 26, 'val' => '#B7DDB3'], ['id' => 27, 'val' => '#46A83D'], ['id' => 28, 'val' => '#58A451'], ['id' => 29, 'val' => '#44823F'], ['id' => 30, 'val' => '#278252'], ['id' => 31, 'val' => '#244B21'], ['id' => 32, 'val' => '#0E220C'], ['id' => 33, 'val' => '#FADDE0'], ['id' => 34, 'val' => '#F4ABB4'], ['id' => 35, 'val' => '#E84056'], ['id' => 36, 'val' => '#D75B5B'], ['id' => 37, 'val' => '#FF5350'], ['id' => 38, 'val' => '#DD001D'], ['id' => 39, 'val' => '#AE2929'], ['id' => 40, 'val' => '#680707'], ['id' => 41, 'val' => '#F0F0F0'], ['id' => 42, 'val' => '#DADEE0'], ['id' => 43, 'val' => '#B7BEC3'], ['id' => 44, 'val' => '#6C7B85'], ['id' => 45, 'val' => '#42454C'], ['id' => 46, 'val' => '#32536A'], ['id' => 47, 'val' => '#162D3D'], ['id' => 48, 'val' => '#000000'], ]; } public function getGenderTextAttr($value, $data) { $value = $value ? $value : (isset($data['gender']) ? $data['gender'] : ''); $list = $this->getGenderList(); return isset($list[$value]) ? $list[$value] : ''; } public function getPrevtimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['prevtime']) ? $data['prevtime'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getLogintimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['logintime']) ? $data['logintime'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getJointimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['jointime']) ? $data['jointime'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getStatusTextAttr($value, $data) { $value = $value ? $value : (isset($data['status']) ? $data['status'] : ''); $list = $this->getStatusList(); return isset($list[$value]) ? $list[$value] : ''; } protected function setPrevtimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setLogintimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setJointimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } public function tag() { return $this->belongsTo('app\admin\model\Coachtag', 'tag_ids', 'id', [], 'LEFT')->setEagerlyType(0); } }