From bf2346d2c191eab5e85d1b0d3b0710c180a04f07 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Fri, 19 Aug 2022 14:26:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=BE=91=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=20https://guangdagit.com/beike/beikeshop/issues/117?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/LanguageController.php | 26 ++++++++++++++----- beike/Repositories/CountryRepo.php | 12 +++++---- beike/Repositories/LanguageRepo.php | 21 ++++++++++++--- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/beike/Admin/Http/Controllers/LanguageController.php b/beike/Admin/Http/Controllers/LanguageController.php index b4ed05fb..0a1d2ee9 100644 --- a/beike/Admin/Http/Controllers/LanguageController.php +++ b/beike/Admin/Http/Controllers/LanguageController.php @@ -11,15 +11,16 @@ namespace Beike\Admin\Http\Controllers; -use Beike\Repositories\LanguageRepo; use Exception; -use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Redirect; +use Beike\Repositories\LanguageRepo; class LanguageController extends Controller { - + /** + * 语言列表 + * @return mixed + */ public function index() { $languages = LanguageRepo::all(); @@ -31,13 +32,19 @@ class LanguageController extends Controller return view('admin::pages.languages.index', $data); } + /** + * 新建语言 + * @param Request $request + * @return array + */ public function store(Request $request): array { - $language = LanguageRepo::create($request->only('name', 'code', 'locale', 'image', 'sort_order', 'status')); + $language = LanguageRepo::create($request->all()); return json_success(trans('common.created_success'), $language); } + /** * @param Request $request * @param int $id @@ -46,11 +53,18 @@ class LanguageController extends Controller */ public function update(Request $request, int $id): array { - $language = LanguageRepo::update($id, $request->only('name', 'code', 'locale', 'image', 'sort_order', 'status')); + $language = LanguageRepo::update($id, $request->all()); return json_success(trans('common.updated_success'), $language); } + + /** + * 删除语言 + * + * @param int $currencyId + * @return array + */ public function destroy(int $currencyId): array { LanguageRepo::delete($currencyId); diff --git a/beike/Repositories/CountryRepo.php b/beike/Repositories/CountryRepo.php index d22d52e5..46e26463 100644 --- a/beike/Repositories/CountryRepo.php +++ b/beike/Repositories/CountryRepo.php @@ -12,13 +12,14 @@ namespace Beike\Repositories; use Beike\Models\Country; +use Illuminate\Contracts\Pagination\LengthAwarePaginator; class CountryRepo { /** * 创建一个country记录 * @param $data - * @return int + * @return mixed */ public static function create($data) { @@ -29,7 +30,8 @@ class CountryRepo /** * @param $id * @param $data - * @return bool|int + * @return mixed + * @throws \Exception */ public static function update($id, $data) { @@ -43,7 +45,7 @@ class CountryRepo /** * @param $id - * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null + * @return mixed */ public static function find($id) { @@ -64,9 +66,9 @@ class CountryRepo /** * @param $data - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + * @return LengthAwarePaginator */ - public static function list($data) + public static function list($data): LengthAwarePaginator { $builder = Country::query(); diff --git a/beike/Repositories/LanguageRepo.php b/beike/Repositories/LanguageRepo.php index 8a7d2274..eb645a16 100644 --- a/beike/Repositories/LanguageRepo.php +++ b/beike/Repositories/LanguageRepo.php @@ -11,7 +11,6 @@ namespace Beike\Repositories; - use Beike\Models\Language; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Builder; @@ -26,7 +25,15 @@ class LanguageRepo */ public static function create($data) { - return Language::query()->create($data); + $languageData = [ + 'name' => $data['name'] ?? '', + 'code' => $data['code'] ?? '', + 'locale' => $data['locale'] ?? '', + 'image' => $data['image'] ?? '', + 'sort_order' => (int)($data['sort_order'] ?? 0), + 'status' => (bool)($data['status'] ?? ''), + ]; + return Language::query()->create($languageData); } /** @@ -41,7 +48,15 @@ class LanguageRepo if (!$item) { throw new \Exception("语言id {$id} 不存在"); } - $item->update($data); + $languageData = [ + 'name' => $data['name'] ?? '', + 'code' => $data['code'] ?? '', + 'locale' => $data['locale'] ?? '', + 'image' => $data['image'] ?? '', + 'sort_order' => (int)($data['sort_order'] ?? 0), + 'status' => (bool)($data['status'] ?? ''), + ]; + $item->update($languageData); return $item; }