self::UN_SET, //2, 'prize_state' => self::PRIZE_UN_SET, //2, // 'convert_time' => 0, ]; protected $casts = [ 'prize' => 'array' ]; protected static function booted() { static::deleting(function ($info) { $info->options()->detach(); }); } const CORRECT = 1; // 竞猜正确 const UN_CORRECT = 0; // 竞猜错误 const UN_SET = 2; //未设置 const PRIZE_YES = 1; // 中大奖 const PRIZE_NO = 0; // 未中大奖 const PRIZE_UN_SET = 2; // 未中大奖 public static $correctStateMap = [ self::UN_SET => '结果统计中', self::CORRECT => '竞猜正确', self::UN_CORRECT => '竞猜失败', ]; public static $correctIcoMap = [ self::UN_SET => 'danger', self::CORRECT => 'success', self::UN_CORRECT => 'warning', ]; public static $prizeStateMap = [ // self::PRIZE_YES => '中得现金奖励', // self::PRIZE_NO => '未中现金奖励', // self::PRIZE_UN_SET => '未公布结果' self::PRIZE_YES => '恭喜中奖', self::PRIZE_NO => '未中奖', self::PRIZE_UN_SET => '结果统计中' ]; public function guess() { return $this->belongsTo(Guess::class, 'guess_id'); } public function user() { return $this->belongsTo(User::class, 'user_id'); } public function options() { return $this->belongsToMany(GuessOption::class, 'user_guess_option', 'user_guess_id', 'guess_option_id'); } public function getPrizeStateNameAttribute() { return data_get(self::$prizeStateMap, $this->prize_state); } public function getCorrectStateNameAttribute() { return data_get(self::$correctStateMap, $this->correct_state); } }