添加城镇扩展信息

dev
vine_liutk 2023-03-23 11:57:05 +08:00
parent 83b71667ca
commit fc2728d23c
4 changed files with 53 additions and 5 deletions

View File

@ -34,7 +34,12 @@ class AgriculturalBaseController extends Controller
public function store(AgriculturalBaseRequest $request) public function store(AgriculturalBaseRequest $request)
{ {
$cropsIds = $request->input('crops_ids', []); $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'); // $type = $request->input('type');
// //已添加区域无法变更类型 // //已添加区域无法变更类型
// if($type == BaseType::Town->value) { // if($type == BaseType::Town->value) {
@ -43,7 +48,7 @@ class AgriculturalBaseController extends Controller
try { try {
DB::beginTransaction(); DB::beginTransaction();
//添加基地信息 //添加基地信息
$base = AgriculturalBase::create($request->input()); $base = AgriculturalBase::create($inputParams);
//添加基地农作物 //添加基地农作物
$base->crops()->sync($cropsIds); $base->crops()->sync($cropsIds);
DB::commit(); DB::commit();
@ -68,15 +73,21 @@ class AgriculturalBaseController extends Controller
{ {
$cropsIds = $request->input('crops_ids', []); $cropsIds = $request->input('crops_ids', []);
$type = $request->input('type'); $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) { if ($type !== $agriculturalBasic->type->value) {
return $this->error('无法变更类型'); return $this->error('无法变更类型');
} }
try { try {
DB::beginTransaction(); DB::beginTransaction();
//添加基地信息 //更新基地信息
$agriculturalBasic->update($request->input()); $agriculturalBasic->update($inputParams);
//添加基地农作物 //更新基地农作物
$agriculturalBasic->crops()->sync($cropsIds); $agriculturalBasic->crops()->sync($cropsIds);
DB::commit(); DB::commit();
} catch(\Throwable $th) { } catch(\Throwable $th) {

View File

@ -30,6 +30,7 @@ class AgriculturalBaseResource extends JsonResource
'devices' => DeviceResource::collection($this->whenLoaded('devices')), 'devices' => DeviceResource::collection($this->whenLoaded('devices')),
'parent_id' => $this->parent_id ?? 0, 'parent_id' => $this->parent_id ?? 0,
'sort' => $this->sort ?? 0, 'sort' => $this->sort ?? 0,
'extends' => json_decode($this->extends ?? []),
]; ];
} }
} }

View File

@ -13,6 +13,7 @@ class AgriculturalBase extends Model
protected $casts = [ protected $casts = [
'type' => BaseType::class, 'type' => BaseType::class,
// 'extends' => 'array',
]; ];
protected $fillable = [ protected $fillable = [
@ -21,6 +22,7 @@ class AgriculturalBase extends Model
'description', 'map', 'areas', 'workforce', 'description', 'map', 'areas', 'workforce',
'parent_id', 'cultivated', 'parent_id', 'cultivated',
'sort', 'sort',
'extends',
]; ];
public function parent(){ public function parent(){

View File

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('agricultural_bases', function (Blueprint $table) {
//
$table->text('extends')->nullable()->comment('扩展字段');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('agricultural_bases', function (Blueprint $table) {
//
$table->dropColumn('extends');
});
}
};