From c8167099efe7ee1b597799c6febb11d1d4158880 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Tue, 26 Jul 2022 21:13:05 +0800 Subject: [PATCH] update store --- .../Http/Controllers/TaxClassController.php | 4 +++ beike/Admin/Repositories/TaxClassRepo.php | 35 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 beike/Admin/Repositories/TaxClassRepo.php diff --git a/beike/Admin/Http/Controllers/TaxClassController.php b/beike/Admin/Http/Controllers/TaxClassController.php index cbc9df62..6a5f5273 100644 --- a/beike/Admin/Http/Controllers/TaxClassController.php +++ b/beike/Admin/Http/Controllers/TaxClassController.php @@ -11,6 +11,7 @@ namespace Beike\Admin\Http\Controllers; +use Beike\Admin\Repositories\TaxClassRepo; use Beike\Models\TaxClass; use Beike\Models\TaxRate; use Illuminate\Http\Request; @@ -39,6 +40,9 @@ class TaxClassController extends Controller public function store(Request $request) { + $requestData = json_decode($request->getContent()); + TaxClassRepo::createOrUpdate($requestData); + return json_success('保存成功'); } public function update(Request $request) diff --git a/beike/Admin/Repositories/TaxClassRepo.php b/beike/Admin/Repositories/TaxClassRepo.php new file mode 100644 index 00000000..13093847 --- /dev/null +++ b/beike/Admin/Repositories/TaxClassRepo.php @@ -0,0 +1,35 @@ + + * @created 2022-07-26 21:08:07 + * @modified 2022-07-26 21:08:07 + */ + +namespace Beike\Admin\Repositories; + +use Beike\Models\TaxClass; + +class TaxClassRepo +{ + public static function createOrUpdate($data) + { + $id = $data['id'] ?? 0; + if ($id) { + $taxClass = TaxClass::query()->findOrFail($id); + } else { + $taxClass = new TaxClass(); + } + $taxClass->fill([ + 'title' => $data['title'], + 'description' => $data['description'], + ]); + $taxClass->saveOrFail(); + + $taxClass->taxRates()->delete(); + $taxClass->taxRates()->createMany($data['rates']); + } +}