Adv.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\model\diy;
  12. use app\dict\diy\AdvPositionDict;
  13. use core\base\BaseModel;
  14. /**
  15. * 广告管理
  16. * Class Adv
  17. * @package app\model\web
  18. */
  19. class Adv extends BaseModel
  20. {
  21. /**
  22. * 数据表主键
  23. * @var string
  24. */
  25. protected $pk = 'adv_id';
  26. /**
  27. * 模型名称
  28. * @var string
  29. */
  30. protected $name = 'diy_adv';
  31. // 设置json类型字段
  32. protected $json = ['adv_url'];
  33. // 设置JSON数据返回数组
  34. protected $jsonAssoc = true;
  35. /**
  36. * 搜索器:商品品牌品牌名称
  37. * @param $value
  38. * @param $data
  39. */
  40. public function searchApKeyAttr($query, $value, $data)
  41. {
  42. if ($value) {
  43. $query->where("ap_key", "=", $value);
  44. }
  45. }
  46. /**
  47. * 获取广告位名称
  48. * @param $value
  49. * @param $data
  50. * @return mixed|string
  51. */
  52. public function getApNameAttr($value, $data)
  53. {
  54. if (empty($data['ap_key']))
  55. return '';
  56. $adv_position = AdvPositionDict::getAdvPosition();
  57. $position_list = array_column($adv_position,null,'keywords');
  58. return $position_list[$data['ap_key']]['ap_name'] ?? '';
  59. }
  60. }