City.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Geo\City\Classes;
  3. use ORM\Entity as Entity;
  4. use App\geo\State\Classes\State as State;
  5. use App\Geo\Country\Classes\Country as country;
  6. use App\Geo\Postal\Classes\Postal;
  7. class City extends Entity {
  8. const _tableName = "geo_cities";
  9. protected $_timestamps = true;
  10. protected $_softdelete = true;
  11. const _properties = Array(
  12. 'code',
  13. 'name',
  14. 'description',
  15. 'state_id',
  16. 'country_id',
  17. );
  18. protected $_ignore = Array(
  19. 'state',
  20. 'postals',
  21. 'country'
  22. );
  23. const _listable = Array(
  24. 'id',
  25. 'name',
  26. 'code',
  27. 'state_id'
  28. );
  29. const _searchable = Array(
  30. 'name',
  31. 'code'
  32. );
  33. const _orderable = Array(
  34. 'id',
  35. 'code',
  36. 'name'
  37. );
  38. function state(){
  39. return $this->belongsTo(State::class, 'state_id');
  40. }
  41. function country(){
  42. return $this->belongsTo(Country::class, 'country_id');
  43. }
  44. function postal(){
  45. return $this->hasMany(Postal::class, 'city_id');
  46. }
  47. }