]> git.localhorst.tv Git - alttp.git/blobdiff - app/Models/Channel.php
guessing game leaderboard
[alttp.git] / app / Models / Channel.php
index 738312dc3e82a60d6725a0289f2886a11b3dcc2e..edc2ba8664be682bc3638fbb16e485b905ca55a1 100644 (file)
@@ -16,6 +16,10 @@ class Channel extends Model
                        ->first();
        }
 
+       public function getGuessingLeaderboard() {
+               return $this->winners()->selectRaw('(select t2.uname from guessing_winners t2 where t2.uid = guessing_winners.uid order by created_at desc limit 1) as name, sum(score) as score')->groupBy('uid')->orderBy('score', 'desc')->limit(10)->get();
+       }
+
        public function hasActiveGuessing() {
                return !is_null($this->guessing_start);
        }
@@ -149,6 +153,10 @@ class Channel extends Model
                return $this->belongsTo(Organization::class);
        }
 
+       public function winners() {
+               return $this->hasMany(GuessingWinner::class);
+       }
+
        protected $casts = [
                'chat' => 'boolean',
                'chat_commands' => 'array',