Store.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\common\model\store;
  3. use app\common\model\BaseModel;
  4. use app\common\model\settings\Region as RegionModel;
  5. /**
  6. * 门店订单模型
  7. */
  8. class Store extends BaseModel
  9. {
  10. protected $pk = 'store_id';
  11. protected $name = 'store';
  12. protected $append = ['region'];
  13. /**
  14. * 关联门店logo
  15. */
  16. public function logo()
  17. {
  18. return $this->hasOne("app\\common\\model\\file\\UploadFile", 'file_id', 'logo_image_id');
  19. }
  20. /**
  21. * 关联供应商表
  22. */
  23. public function supplier()
  24. {
  25. return $this->belongsTo('app\\common\\model\\supplier\\Supplier', 'shop_supplier_id', 'shop_supplier_id');
  26. }
  27. /**
  28. * 地区名称
  29. */
  30. public function getRegionAttr($value, $data)
  31. {
  32. return [
  33. 'province' => RegionModel::getNameById($data['province_id']),
  34. 'city' => RegionModel::getNameById($data['city_id']),
  35. 'region' => $data['region_id'] == 0 ? '' : RegionModel::getNameById($data['region_id']),
  36. ];
  37. }
  38. /**
  39. * 门店状态
  40. */
  41. public function getStatusAttr($value)
  42. {
  43. $status = [0 => '禁用', 1 => '启用'];
  44. return ['text' => $status[$value], 'value' => $value];
  45. }
  46. /**
  47. * 是否支持自提核销
  48. */
  49. public function getIsCheckAttr($value)
  50. {
  51. $status = [0 => '不支持', 1 => '支持'];
  52. return ['text' => $status[$value], 'value' => $value];
  53. }
  54. /**
  55. * 门店详情
  56. */
  57. public static function detail($store_id)
  58. {
  59. return (new static())->with(['logo'])->where('store_id','=',$store_id)->find();
  60. }
  61. }