public function isParticipant(Tournament $tournament) {
foreach ($tournament->participants as $participant) {
- if ($participant->user->id == $this->id) {
+ if ($participant->user_id == $this->id) {
return true;
}
}
return false;
}
+ public function isRunner(Tournament $tournament) {
+ foreach ($tournament->participants as $participant) {
+ if ($participant->user_id == $this->id) {
+ return in_array('runner', $participant->roles);
+ }
+ }
+ return false;
+ }
+
+ public function isTournamentAdmin(Tournament $tournament) {
+ foreach ($tournament->participants as $participant) {
+ if ($participant->user_id == $this->id) {
+ return in_array('admin', $participant->roles);
+ }
+ }
+ 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.
*