alias('a') ->leftjoin('i18n_lang_type c', 'a.i18n_lang_type_guid = c.i18n_lang_type_guid') ->field([ 'a.banner_id', 'a.banner_img', 'a.banner_location', 'a.banner_link', 'a.banner_order', 'a.banner_guid', 'a.i18n_lang_type_guid', 'c.i18n_lang_type_name', 'c.i18n_lang_type_code', ]) ->order('banner_order', 'asc'); return msg("获取轮播图列表成功!", $query); } /** * 添加轮播图 */ public function addBanner(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('banner'); try { $params = $request->param(); $this->validate($params, [ 'banner_img|轮播图图片' => 'require', // 'banner_order ]); ModelBanner::create($params, [ 'i18n_lang_type_guid', 'banner_link', 'banner_guid', 'banner_create_user_guid', 'banner_update_user_guid', 'banner_img', 'banner_location', 'banner_order' ]); Db::commit(); Tool::unlockTable(); return msg('添加成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 编辑轮播图 */ public function editBanner(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('banner'); try { $params = $request->param(); $this->validate($params, [ 'banner_img|轮播图图片' => 'require', ]); $model = ModelBanner::where('banner_guid', $params['banner_guid'])->find(); if (!$model) throwErrorMsg("该轮播图不存在", 1); $model->allowField([ 'banner_link', 'i18n_lang_type_guid', 'banner_update_user_guid', 'banner_img', 'banner_location', 'banner_order' ])->save($params); Db::commit(); Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 删除轮播图 */ public function deleteBanner(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('banner'); try { $params = $request->param(); $this->validate($params, [ 'banner_guid' => 'require', ]); $banner = ModelBanner::where([ 'banner_guid' => explode(',', $params['banner_guid']) ])->select(); $banner->delete(); Db::commit(); Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } }