// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\store\model; use app\common\model\ActiveMain as ActiveMainModal; use app\common\model\UploadFile; use think\model\relation\HasOne; /** * 模型类:帮助中心 * Class Help * @package app\store\model */ class ActiveMain extends ActiveMainModal { /** * 关联图片 * @return HasOne */ public function index_icon_image(): HasOne { return $this->hasOne('UploadFile', 'file_id', 'index_icon') ->bind(['image_url' => 'preview_url']); } /** * 获取列表记录 * @return \think\Paginator * @throws \think\db\exception\DbException */ public function getList(): \think\Paginator { $data = $this->paginate(); foreach ($data as &$item) { $index_icon_image_ids = UploadFile::whereIn('file_id', explode(",", $item['index_icon']))->field('file_id,file_path,file_type,storage,domain')->select()->toArray(); foreach ($index_icon_image_ids as &$index_icon_image_id) { $index_icon_image_id['file_path'] = getUrl($index_icon_image_id['file_path'], $index_icon_image_id['domain']); } $item['index_icons'] =$index_icon_image_ids ?? []; $theme_pic_image_ids = UploadFile::whereIn('file_id', explode(",", $item['theme_pic']))->field('file_id,file_path,file_type,storage,domain')->select()->toArray(); foreach ($theme_pic_image_ids as &$theme_pic_image_id) { $theme_pic_image_id['file_path'] = getUrl($theme_pic_image_id['file_path'], $theme_pic_image_id['domain']); } $item['theme_pics'] =$theme_pic_image_ids ?? []; } return $data; } /** * 详情 * @param mixed $activeId * @param array $with * @return static|array|null */ public static function detail($activeId, array $with = []) { return self::get($activeId, $with); } /** * 新增记录 * @param array $data * @return bool|false */ public function add(array $data): bool { $data['store_id'] = self::$storeId; return $this->save($data); } /** * 更新记录 * @param array $data * @return bool */ public function edit(array $data): bool { return $this->save($data) !== false; } /** * 删除记录 * @return bool */ public function setDelete(): bool { return $this->delete(); } }