'integer', 'update_time' => 'integer', 'pick_numbers' => 'json', 'unit_amount' => 'string', 'total_amount' => 'string', 'win_amount' => 'string', 'jackpot_extra_amount' => 'string', 'status' => 'integer', 'pick_count' => 'integer', 'streak_at_bet' => 'integer', 'is_auto' => 'integer', ]; public function user(): \think\model\relation\BelongsTo { return $this->belongsTo(User::class, 'user_id', 'id'); } public function channel(): \think\model\relation\BelongsTo { return $this->belongsTo(Channel::class, 'channel_id', 'id'); } protected static function onAfterInsert($model): void { try { $periodId = isset($model['period_id']) ? (int) $model['period_id'] : null; GameLiveService::publishSnapshot($periodId); } catch (Throwable) { } } public function gameRecord(): \think\model\relation\BelongsTo { return $this->belongsTo(GameRecord::class, 'period_id', 'id'); } }