OfflineShopModel.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace app\common\model;
  3. use think\Db;
  4. use think\Model;
  5. /**
  6. * 群组
  7. */
  8. class OfflineShopModel extends BaseModel
  9. {
  10. // 表名
  11. protected $name = 'offline_shop';
  12. // 自动写入时间戳字段
  13. protected $autoWriteTimestamp = 'int';
  14. // 定义时间戳字段名
  15. protected $createTime = 'createtime';
  16. protected $updateTime = 'updatetime';
  17. protected int $is_status_search = 1;// 默认使用 status = 1 筛选
  18. protected int $is_delete_search = 0;// 默认使用 is_delete = 0 筛选
  19. /**
  20. * 默认查询字段
  21. *
  22. * @var array|string[]
  23. */
  24. public array $select = [
  25. '*'
  26. ];
  27. public function searchTypeIdAttribute($query, $value, array $params)
  28. {
  29. if (empty($value)) {
  30. return $query;
  31. }
  32. return $query->where('type_id', $value);
  33. }
  34. public function searchKeywordAttribute($query, $value, array $params)
  35. {
  36. if (empty($value)) {
  37. return $query;
  38. }
  39. return $query->where('name|keyword','like', "%{$value}%");
  40. }
  41. public function searchCityAttribute($query, $value, array $params)
  42. {
  43. if (empty($value)) {
  44. return $query;
  45. }
  46. return $query->where('city','like', "%{$value}%");
  47. }
  48. public function searchTypeIdsAttribute($query, $value, array $params)
  49. {
  50. if (empty($value)) {
  51. return $query;
  52. }
  53. return $query->whereRaw("FIND_IN_SET({$value},`type_ids`)");
  54. }
  55. public function searchDistanceAttribute($query, $value, array $params)
  56. {
  57. if (empty($value)) {
  58. return $query;
  59. }
  60. return $query->having("distance < {$value}");
  61. }
  62. }