'timestamp', 'use_time' => 'timestamp', ]; public function coupon() { return $this->hasOne(Coupon::class, 'id', 'coupon_id')->joinType('left') ->withField('id, title, price, min_condition_money, type, join_site_ids, is_all_site_join'); } public function member() { return $this->hasOne(Member::class, 'member_id', 'member_id')->joinType('left') ->withField('member_id,member_no, username, mobile, nickname'); } /** * 优惠券商品项 * @return HasMany */ public function goods() { return $this->hasMany(CouponGoods::class, 'coupon_id', 'coupon_id'); } public function getStatusNameAttr($value, $data) { if (empty($data[ 'status' ])) return ''; $temp = CouponMemberDict::getStatus()[ $data[ 'status' ] ] ?? []; return $temp ?? ''; } public function getReceiveTypeNameAttr($value, $data) { if (empty($data[ 'receive_type' ])) return ''; $receive_type = event('CouponReceiveType', []); if (empty($receive_type)) { return []; } foreach ($receive_type as $value) { foreach ($value as $v) { $type[] = $v[ 'name' ]; $info[] = $v; } } $key = array_search($data[ 'receive_type' ], $type); $temp = $info[ $key ][ 'title' ] ?? []; return $temp ?? ''; } public function getCouponPriceAttr($value, $data) { if (empty($data[ 'price' ])) { return 0; } return rtrim(rtrim($data[ 'price' ], '0'), '.'); } public function getCouponMinPriceAttr($value, $data) { if (empty($data[ 'min_condition_money' ])) { return 0; } return rtrim(rtrim($data[ 'min_condition_money' ], '0'), '.'); } public function getTypeNameAttr($value, $data) { if (empty($data[ 'type' ])) return ''; return CouponDict::getType()[ $data[ 'type' ] ] ?? ''; } }