]> git.localhorst.tv Git - alttp.git/blobdiff - app/Models/User.php
user nicknames
[alttp.git] / app / Models / User.php
index 4f56ac17f93b8af4ef2aff0c8478ee913ee19fd1..eea1426d8fcc7c592aca5592b5a2ef70f7765253 100644 (file)
@@ -39,10 +39,70 @@ class User extends Authenticatable
                return false;
        }
 
+
        public function participation() {
                return $this->hasMany(Participant::class);
        }
 
+       public function results() {
+               return $this->hasMany(Result::class);
+       }
+
+       public function rounds() {
+               return $this->belongsToMany(Round::class, 'results');
+       }
+
+       public function tournaments() {
+               return $this->belongsToMany(Tournament::class, 'participants');
+       }
+
+
+       public function round_first() {
+               return $this->rounds()
+                       ->where('locked', true)
+                       ->where('no_record', false)
+                       ->wherePivot('forfeit', false)
+                       ->wherePivot('placement', 1);
+       }
+
+       public function round_second() {
+               return $this->rounds()
+                       ->where('locked', true)
+                       ->where('no_record', false)
+                       ->wherePivot('forfeit', false)
+                       ->wherePivot('placement', 2);
+       }
+
+       public function round_third() {
+               return $this->rounds()
+                       ->where('locked', true)
+                       ->where('no_record', false)
+                       ->wherePivot('forfeit', false)
+                       ->wherePivot('placement', 3);
+       }
+
+       public function tournament_first() {
+               return $this->tournaments()
+                       ->where('locked', true)
+                       ->where('no_record', false)
+                       ->wherePivot('placement', 1);
+       }
+
+       public function tournament_second() {
+               return $this->tournaments()
+                       ->where('locked', true)
+                       ->where('no_record', false)
+                       ->wherePivot('placement', 2);
+       }
+
+       public function tournament_third() {
+               return $this->tournaments()
+                       ->where('locked', true)
+                       ->where('no_record', false)
+                       ->wherePivot('placement', 3);
+       }
+
+
        /**
         * The attributes that are mass assignable.
         *