belongsTo('LotteryDrawRecord', 'draw_record_id'); } /** * 关联活动 */ public function activity() { return $this->belongsTo('LotteryActivity', 'activity_id'); } /** * 关联用户 */ public function user() { return $this->belongsTo('app\common\model\User', 'user_id'); } /** * 关联奖品 */ public function prize() { return $this->belongsTo('LotteryPrize', 'prize_id'); } /** * 获取发放状态文本 */ public function getDeliverStatusTextAttr($value, $data) { $status = LotteryEnum::getDeliverStatusMap(); return isset($status[$data['deliver_status']]) ? $status[$data['deliver_status']] : '未知'; } /** * 获取奖品信息数据 */ public function getPrizeValueDataAttr($value, $data) { return !empty($data['prize_value']) ? json_decode($data['prize_value'], true) : []; } /** * 设置奖品信息 */ public function setPrizeValueAttr($value) { return is_array($value) ? json_encode($value) : $value; } /** * 获取发放信息数据 */ public function getDeliverInfoDataAttr($value, $data) { return !empty($data['deliver_info']) ? json_decode($data['deliver_info'], true) : []; } /** * 设置发放信息 */ public function setDeliverInfoAttr($value) { return is_array($value) ? json_encode($value) : $value; } }