Shop.php 1.4 KB

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