clrghouz/app/Models/Zone.php

52 lines
878 B
PHP

<?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']);
}
}