From c152dc6d81962b7c905346855930435ae7de5466 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Wed, 31 Dec 2025 17:22:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=95=86=E5=93=81=E5=95=8F?= =?UTF-8?q?=E9=A1=8C=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/ProductController.php | 9 +++++- ...1_172200_make_conversion_rate_nullable.php | 28 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 database/migrations/2025_12_31_172200_make_conversion_rate_nullable.php diff --git a/app/Http/Controllers/ProductController.php b/app/Http/Controllers/ProductController.php index 66fbd08..a32d15e 100644 --- a/app/Http/Controllers/ProductController.php +++ b/app/Http/Controllers/ProductController.php @@ -81,6 +81,14 @@ class ProductController extends Controller 'large_unit' => 'nullable|string|max:50', 'conversion_rate' => 'required_with:large_unit|nullable|numeric|min:0.0001', 'purchase_unit' => 'nullable|string|max:50', + ], [ + 'name.required' => '商品名稱為必填', + 'category_id.required' => '請選擇分類', + 'category_id.exists' => '所選分類不存在', + 'base_unit.required' => '基本庫存單位為必填', + 'conversion_rate.required_with' => '填寫大單位時,換算率為必填', + 'conversion_rate.numeric' => '換算率必須為數字', + 'conversion_rate.min' => '換算率最小為 0.0001', ]); // Auto-generate code @@ -109,7 +117,6 @@ class ProductController extends Controller 'base_unit' => 'required|string|max:50', 'large_unit' => 'nullable|string|max:50', 'conversion_rate' => 'required_with:large_unit|nullable|numeric|min:0.0001', - 'purchase_unit' => 'nullable|string|max:50', ]); $product->update($validated); diff --git a/database/migrations/2025_12_31_172200_make_conversion_rate_nullable.php b/database/migrations/2025_12_31_172200_make_conversion_rate_nullable.php new file mode 100644 index 0000000..bd6f2c0 --- /dev/null +++ b/database/migrations/2025_12_31_172200_make_conversion_rate_nullable.php @@ -0,0 +1,28 @@ +decimal('conversion_rate', 10, 4)->nullable()->default(null)->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('products', function (Blueprint $table) { + $table->decimal('conversion_rate', 10, 4)->nullable(false)->default(1)->change(); + }); + } +};