__('State 2'), '3' => __('State 3'), '4' => __('State 4')]; } public function getStateTextAttr($value, $data) { $value = $value ? $value : (isset($data['state']) ? $data['state'] : ''); $list = $this->getStateList(); return isset($list[$value]) ? $list[$value] : ''; } public function getCompleteTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['complete_time']) ? $data['complete_time'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getRedemptionTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['redemption_time']) ? $data['redemption_time'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } protected function setCompleteTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setRedemptionTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } public function getGoodsInfoAttr($value, $data) { $goods = (new Goods()) ->withTrashed() ->where('id',$data['goods_id']) ->field('name,image') ->find(); $goods->points = $data['points']; return $goods; } }