Shop.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\common\model\store;
  3. use app\common\model\BaseModel;
  4. use app\common\model\Region as RegionModel;
  5. /**
  6. * 商家门店模型
  7. * Class Shop
  8. * @package app\common\model\store
  9. */
  10. class Shop extends BaseModel
  11. {
  12. protected $name = 'store_shop';
  13. /**
  14. * 追加字段
  15. * @var array
  16. */
  17. protected $append = ['region'];
  18. /**
  19. * 关联文章封面图
  20. * @return \think\model\relation\HasOne
  21. */
  22. public function logo()
  23. {
  24. $module = self::getCalledModule() ?: 'common';
  25. return $this->hasOne("app\\{$module}\\model\\UploadFile", 'file_id', 'logo_image_id');
  26. }
  27. /**
  28. * 地区名称
  29. * @param $value
  30. * @param $data
  31. * @return array
  32. */
  33. public function getRegionAttr($value, $data)
  34. {
  35. return [
  36. 'province' => RegionModel::getNameById($data['province_id']),
  37. 'city' => RegionModel::getNameById($data['city_id']),
  38. 'region' => $data['region_id'] == 0 ? '' : RegionModel::getNameById($data['region_id']),
  39. ];
  40. }
  41. /**
  42. * 门店详情
  43. * @param $shop_id
  44. * @return static|null
  45. * @throws \think\exception\DbException
  46. */
  47. public static function detail($shop_id)
  48. {
  49. return static::get($shop_id, ['logo']);
  50. }
  51. }