Parking.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Models;
  3. use App\Traits\ModelHelpers;
  4. use Illuminate\Database\Eloquent\Model;
  5. class Parking extends Model
  6. {
  7. //
  8. use ModelHelpers;
  9. // 停车点中心点(redis)
  10. const REDIS_STOP_BIKE_SITES_TAG = 'stop_bike_sites';
  11. // 正确示例
  12. const TYPE_STOP_BIKE = 2;
  13. const TYPE_NO_STOP_BIKE = 1;
  14. public static $typeMaps = [
  15. self::TYPE_STOP_BIKE => '停车区',
  16. self::TYPE_NO_STOP_BIKE => '禁停区'
  17. ];
  18. // 错误示例
  19. // protected $parkingType = [1 => '禁停区', 2 => '停车区'];
  20. const STATUS_OK = 1;
  21. const STATUS_NO = 0;
  22. public static $statusMaps = [
  23. self::STATUS_NO => '禁用',
  24. self::STATUS_OK => '启用',
  25. ];
  26. protected $fillable = ['area_id', 'name', 'max_number', 'parking_fence', 'parking_centre', 'description','parking_radius', 'type', 'status'];
  27. public function getParkingCentreAttribute($value){
  28. return toGaodeCentreData($value);
  29. }
  30. public function getWxParkingCentreAttribute(){
  31. return $this->attributes['parking_centre'];
  32. }
  33. public function getWxParkingFenceAttribute($value){
  34. return $this->attributes['parking_fence'];
  35. }
  36. public function getParkingFenceAttribute($value){
  37. return toGaodeFenceData($value);
  38. }
  39. public function setParkingCentreAttribute($value){
  40. $this->attributes['parking_centre'] = latToLatitude($value);
  41. }
  42. public function setParkingFenceAttribute($value){
  43. $this->attributes['parking_fence'] = latToLatitude($value);
  44. }
  45. public function area()
  46. {
  47. return $this->belongsTo(Area::class, 'area_id', 'id');
  48. }
  49. }