X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FModels%2FUser.php;h=eea1426d8fcc7c592aca5592b5a2ef70f7765253;hb=82b95e7542824bcdf4f1b245559cb1c93f4eafdd;hp=4f56ac17f93b8af4ef2aff0c8478ee913ee19fd1;hpb=eebc6384e56336b66ec250fc2aea3be6171d53ff;p=alttp.git diff --git a/app/Models/User.php b/app/Models/User.php index 4f56ac1..eea1426 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -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. *