hasOne('\app\admin\model\LedgerWallet', 'user_id', 'id', [],'LEFT')->setEagerlyType(0); } public function productorder() { return $this->hasMany('\app\common\model\ProductOrder', 'user_id', 'id')->where('status', 'in', [ProductOrder::Paid, ProductOrder::Transferred, ProductOrder::Freeze])->field('id,user_id'); } public function getStatusList() { return ['30' => __('Status 30')]; } public function getCreateTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : ''); 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] : ''; } public function getEffectiveTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['effective_time']) ? $data['effective_time'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } protected function setCreateTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setEffectiveTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } }