From fc2728d23c7a391cce8d9a5757b8b4f83c2c5368 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Thu, 23 Mar 2023 11:57:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9F=8E=E9=95=87=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AgriculturalBaseController.php | 21 +++++++++--- .../Resources/AgriculturalBaseResource.php | 1 + app/Models/AgriculturalBase.php | 2 ++ ...add_extends_to_agricultural_base_table.php | 34 +++++++++++++++++++ 4 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 database/migrations/2023_03_23_112111_add_extends_to_agricultural_base_table.php diff --git a/app/Http/Controllers/AgriculturalBaseController.php b/app/Http/Controllers/AgriculturalBaseController.php index cee2798..1c98b2f 100644 --- a/app/Http/Controllers/AgriculturalBaseController.php +++ b/app/Http/Controllers/AgriculturalBaseController.php @@ -34,7 +34,12 @@ class AgriculturalBaseController extends Controller public function store(AgriculturalBaseRequest $request) { $cropsIds = $request->input('crops_ids', []); - + $extends = $request->input('extends', []); + if($extends){ + $extends = json_encode($extends); + } + $inputParams = $request->input(); + $inputParams['extends'] = $extends; // $type = $request->input('type'); // //已添加区域无法变更类型 // if($type == BaseType::Town->value) { @@ -43,7 +48,7 @@ class AgriculturalBaseController extends Controller try { DB::beginTransaction(); //添加基地信息 - $base = AgriculturalBase::create($request->input()); + $base = AgriculturalBase::create($inputParams); //添加基地农作物 $base->crops()->sync($cropsIds); DB::commit(); @@ -68,15 +73,21 @@ class AgriculturalBaseController extends Controller { $cropsIds = $request->input('crops_ids', []); $type = $request->input('type'); + $extends = $request->input('extends', []); + if($extends){ + $extends = json_encode($extends); + } + $inputParams = $request->input(); + $inputParams['extends'] = $extends; //已添加区域无法变更类型 if ($type !== $agriculturalBasic->type->value) { return $this->error('无法变更类型'); } try { DB::beginTransaction(); - //添加基地信息 - $agriculturalBasic->update($request->input()); - //添加基地农作物 + //更新基地信息 + $agriculturalBasic->update($inputParams); + //更新基地农作物 $agriculturalBasic->crops()->sync($cropsIds); DB::commit(); } catch(\Throwable $th) { diff --git a/app/Http/Resources/AgriculturalBaseResource.php b/app/Http/Resources/AgriculturalBaseResource.php index 7392ca9..ed81589 100644 --- a/app/Http/Resources/AgriculturalBaseResource.php +++ b/app/Http/Resources/AgriculturalBaseResource.php @@ -30,6 +30,7 @@ class AgriculturalBaseResource extends JsonResource 'devices' => DeviceResource::collection($this->whenLoaded('devices')), 'parent_id' => $this->parent_id ?? 0, 'sort' => $this->sort ?? 0, + 'extends' => json_decode($this->extends ?? []), ]; } } diff --git a/app/Models/AgriculturalBase.php b/app/Models/AgriculturalBase.php index 5f90e43..8ed4314 100644 --- a/app/Models/AgriculturalBase.php +++ b/app/Models/AgriculturalBase.php @@ -13,6 +13,7 @@ class AgriculturalBase extends Model protected $casts = [ 'type' => BaseType::class, + // 'extends' => 'array', ]; protected $fillable = [ @@ -21,6 +22,7 @@ class AgriculturalBase extends Model 'description', 'map', 'areas', 'workforce', 'parent_id', 'cultivated', 'sort', + 'extends', ]; public function parent(){ diff --git a/database/migrations/2023_03_23_112111_add_extends_to_agricultural_base_table.php b/database/migrations/2023_03_23_112111_add_extends_to_agricultural_base_table.php new file mode 100644 index 0000000..fd9d45d --- /dev/null +++ b/database/migrations/2023_03_23_112111_add_extends_to_agricultural_base_table.php @@ -0,0 +1,34 @@ +text('extends')->nullable()->comment('扩展字段'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('agricultural_bases', function (Blueprint $table) { + // + $table->dropColumn('extends'); + }); + } +};