// +---------------------------------------------------------------------- namespace app\model\user; use app\model\system\admin\SystemAdmin; use crmeb\basic\BaseModel; use crmeb\traits\ModelTrait; use think\model; /** * Class UserSpread * @package app\model\user */ class UserSpread extends BaseModel { use ModelTrait; /** * 数据表主键 * @var string */ protected $pk = 'id'; /** * 模型名称 * @var string */ protected $name = 'user_spread'; /** * 用户 * @return model\relation\HasOne */ public function user() { return $this->hasOne(User::class, 'uid', 'uid')->field('uid,nickname,avatar')->bind([ 'nickname' => 'nickname', 'avatar' => 'avatar' ]); } /** * 推荐人 * @return model\relation\HasOne */ public function spreadUser() { return $this->hasOne(User::class, 'uid', 'spread_uid')->field('uid,nickname,avatar')->bind([ 'nickname' => 'nickname', 'avatar' => 'avatar' ]); } /** * 管理员姓名 * @return model\relation\HasOne */ public function admin() { return $this->hasOne(SystemAdmin::class, 'id', 'admin_id')->field('id,real_name')->bind([ 'real_name' => 'real_name' ]); } /** * 用户uid * @param Model $query * @param $value */ public function searchUidAttr($query, $value) { if (is_array($value)) $query->whereIn('uid', $value); else $query->where('uid', $value); } /** * 门店ID * @param $query * @param $value */ public function searchStoreIdAttr($query, $value) { if ($value !== '') $query->where('store_id', $value); } /** * 门店店员ID * @param $query * @param $value */ public function searchStaffIdAttr($query, $value) { if ($value) $query->where('staff_id', $value); } /** * 推广人uid * @param Model $query * @param $value */ public function searchSpreadUidAttr($query, $value) { if (is_array($value)) $query->whereIn('spread_uid', $value); else $query->where('spread_uid', $value); } }