the browser-facing portion of osu!
at master 3.1 kB view raw
1<?php 2 3// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4// See the LICENCE file in the repository root for full licence text. 5 6namespace App\Models; 7 8/** 9 * @property Beatmap $beatmap 10 * @property int $beatmap_id 11 * @property mixed $data 12 * @property int $p1 13 * @property int $p10 14 * @property int $p100 15 * @property int $p11 16 * @property int $p12 17 * @property int $p13 18 * @property int $p14 19 * @property int $p15 20 * @property int $p16 21 * @property int $p17 22 * @property int $p18 23 * @property int $p19 24 * @property int $p2 25 * @property int $p20 26 * @property int $p21 27 * @property int $p22 28 * @property int $p23 29 * @property int $p24 30 * @property int $p25 31 * @property int $p26 32 * @property int $p27 33 * @property int $p28 34 * @property int $p29 35 * @property int $p3 36 * @property int $p30 37 * @property int $p31 38 * @property int $p32 39 * @property int $p33 40 * @property int $p34 41 * @property int $p35 42 * @property int $p36 43 * @property int $p37 44 * @property int $p38 45 * @property int $p39 46 * @property int $p4 47 * @property int $p40 48 * @property int $p41 49 * @property int $p42 50 * @property int $p43 51 * @property int $p44 52 * @property int $p45 53 * @property int $p46 54 * @property int $p47 55 * @property int $p48 56 * @property int $p49 57 * @property int $p5 58 * @property int $p50 59 * @property int $p51 60 * @property int $p52 61 * @property int $p53 62 * @property int $p54 63 * @property int $p55 64 * @property int $p56 65 * @property int $p57 66 * @property int $p58 67 * @property int $p59 68 * @property int $p6 69 * @property int $p60 70 * @property int $p61 71 * @property int $p62 72 * @property int $p63 73 * @property int $p64 74 * @property int $p65 75 * @property int $p66 76 * @property int $p67 77 * @property int $p68 78 * @property int $p69 79 * @property int $p7 80 * @property int $p70 81 * @property int $p71 82 * @property int $p72 83 * @property int $p73 84 * @property int $p74 85 * @property int $p75 86 * @property int $p76 87 * @property int $p77 88 * @property int $p78 89 * @property int $p79 90 * @property int $p8 91 * @property int $p80 92 * @property int $p81 93 * @property int $p82 94 * @property int $p83 95 * @property int $p84 96 * @property int $p85 97 * @property int $p86 98 * @property int $p87 99 * @property int $p88 100 * @property int $p89 101 * @property int $p9 102 * @property int $p90 103 * @property int $p91 104 * @property int $p92 105 * @property int $p93 106 * @property int $p94 107 * @property int $p95 108 * @property int $p96 109 * @property int $p97 110 * @property int $p98 111 * @property int $p99 112 * @property mixed $type 113 */ 114class BeatmapFailtimes extends Model 115{ 116 public $incrementing = false; 117 public $timestamps = false; 118 119 protected $primaryKey = ':composite'; 120 protected $primaryKeys = ['beatmap_id', 'type']; 121 protected $table = 'osu_beatmap_failtimes'; 122 123 public function beatmap() 124 { 125 return $this->belongsTo(Beatmap::class, 'beatmap_id'); 126 } 127 128 public function getDataAttribute() 129 { 130 $data = []; 131 132 $attributes = $this->getAttributes(); 133 for ($i = 1; $i <= 100; $i++) { 134 $data[] = $attributes["p{$i}"] ?? 0; 135 } 136 137 return $data; 138 } 139}