|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Region extends Model
{
protected $table = 'regions';
public $timestamps = false;
protected $dateFormat = 'U';
protected $guarded = ['id'];
static $country = 'country';
static $province = 'province';
static $city = 'city';
static $district = 'district';
static $types = [
'country',
'province',
'city',
'district',
];
public function country()
{
return $this->belongsTo($this, 'country_id', 'id')->where('type', self::$country);
}
public function countryProvinces()
{
return $this->hasMany($this, 'country_id', 'id')->where('type', self::$province);
}
public function countryCities()
{
return $this->hasMany($this, 'country_id', 'id')->where('type', self::$city);
}
public function provinceCities()
{
return $this->hasMany($this, 'province_id', 'id')->where('type', self::$city);
}
public function cityDistricts()
{
return $this->hasMany($this, 'city_id', 'id')->where('type', self::$district);
}
public function province()
{
return $this->belongsTo($this, 'province_id', 'id')->where('type', self::$province);
}
public function city()
{
return $this->belongsTo($this, 'city_id', 'id')->where('type', self::$city);
}
public function countryUsers()
{
return $this->hasMany('App\User', 'country_id', 'id');
}
public function provinceUsers()
{
return $this->hasMany('App\User', 'province_id', 'id');
}
public function cityUsers()
{
return $this->hasMany('App\User', 'city_id', 'id');
}
public function districtUsers()
{
return $this->hasMany('App\User', 'district_id', 'id');
}
}