// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\api\model; use app\common\exception\BaseException; use app\common\library\helper; use app\common\model\Banner as BannerModel; use app\common\model\Region; /** * 轮播幻灯片模型 * Class Banner * @package app\api\model */ class Banner extends BannerModel { /** * 隐藏字段 * @var array */ protected $hidden = [ 'create_time', 'update_time' ]; /** * 获取列表 * @param array $param 查询条件 * @param int $listRows 分页数量 * @return mixed|\think\model\Collection|\think\Paginator * @throws \think\db\exception\DbException */ public function getList(array $param = [], int $listRows = 15) { // 整理查询参数 $params = array_merge($param, ['status' => 1]); // 获取商品列表 $list = parent::getList($params, $listRows); if ($list->isEmpty()) { return $list; } // 隐藏冗余的字段 $list->hidden(array_merge($this->hidden, ['albums'])); // 整理列表数据并返回 return $this->setListDataFromApi($list); } /** * 设置展示的数据 api模块 * @param $info * @return mixed */ private function setListDataFromApi($info) { return $this->setListData($info, function ($data){ // 整理数据 api模块 $this->setDataFromApi($data); }); } /** * 整理数据 api模块 * @param $info * @return mixed */ private function setDataFromApi($info) { return $this->setData($info, function ($data) { $this->hidden(['update_time','status']); }); } /** * 获取图片预览 * @param $value * @return string */ public function getImageAttr($value) { return $value? getPreview($value) : ''; } }