diff options
| author | Fbenas <philbeansburton@gmail.com> | 2020-06-19 02:16:51 +0100 | 
|---|---|---|
| committer | Fbenas <philbeansburton@gmail.com> | 2020-06-19 02:16:51 +0100 | 
| commit | d1fe4536cc039450b540104e382db0d01d5cf886 (patch) | |
| tree | fd40ab48f79370541f377b59bb381811126485ad /app/Rugby/Model/Match.php | |
| parent | c83e876693bdb71c66418c13f5e09dfdaef24478 (diff) | |
Initial commit
Diffstat (limited to 'app/Rugby/Model/Match.php')
| -rw-r--r-- | app/Rugby/Model/Match.php | 59 | 
1 files changed, 59 insertions, 0 deletions
| diff --git a/app/Rugby/Model/Match.php b/app/Rugby/Model/Match.php new file mode 100644 index 0000000..5447ef5 --- /dev/null +++ b/app/Rugby/Model/Match.php @@ -0,0 +1,59 @@ +<?php + +namespace App\Rugby\Model; + +use App\Rugby\Model\Team; +use App\Rugby\Model\Tournament; +use App\Rugby\Model\Venue; + +use Illuminate\Database\Eloquent\Model; + +class Match extends Model +{ +    protected $table = 'matches'; + +    protected $casts = ['date' => 'datetime:Y-m-d']; + +     protected $fillable = ['score', 'half_score', 'referee', 'date']; + +    public function teams() +    { +        return $this->belongsToMany(Team::class, 'match_team'); +    } + +    public function venue() +    { +        return $this->hasOne(Venue::class, 'id'); +    } + +    public function getDisplayName() +    { +        $venue = Venue::find($this->venue_id); + +        if (!$venue) { +            return 'Unknown'; +        } + +        return $venue->name; +    } + +    public function getDisplayDate() +    { +        return (new \Carbon\Carbon($this->date))->format('M d Y'); +    } + +    public function homeTeam() +    { +        return $this->teams()->wherePivot('is_home', '=', true); +    } + +    public function awayTeam() +    { +        return $this->teams()->wherePivot('is_home', '=', false); +    } + +    public function tournaments() +    { +        return $this->belongsToMany(Tournament::class, 'match_tournament'); +    } +} | 
