<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use App\Traits\{QueryCacheableConfig,ScopeActive}; class Zone extends Model { use ScopeActive; /* SCOPES */ public function scopeDomainZoneOrder($query) { return $query ->select('zones.*') ->join('domains',['domains.id'=>'zones.domain_id']) ->orderBy('domains.name') ->orderBy('zone_id'); } /* RELATIONS */ public function addresses() { return $this->hasMany(Address::class) ->active() ->FTNorder() ->with(['system.sessions','system.setup','zone.domain']); } public function domain() { return $this->belongsTo(Domain::class); } public function system() { return $this->belongsTo(System::class); } /** * Get the default route for this zone */ public function systems() { return $this->belongsToMany(System::class) ->withPivot(['default']); } }