Browse Source

取消关联没有关联资产的需求

kely 8 months ago
parent
commit
897e3abc69
1 changed files with 10 additions and 1 deletions
  1. 10 1
      app/Http/Controllers/API/ProjectController.php

+ 10 - 1
app/Http/Controllers/API/ProjectController.php

@@ -483,13 +483,14 @@ class ProjectController extends Controller
         return AssetRequirementResource::collection($requirements);
     }
 
-    public function updateLinkAssets(UpdateLinkAssetsRequest $request, string $projectId)
+    public function updateLinkAssets(UpdateLinkAssetsRequest $request,string $projectId)
     {
         $isAction=true;
         $project = Project::allowed($projectId,$isAction)->find($projectId);
         if($project==null){
             return $this->badRequest('Permission denied or project not found. Please contact the administrator.');
         };
+        $oldAssetId=$project->assets()->select('assets.id')->pluck('id');
 
         $assetsIds = $request->assets;
         DB::transaction(function () use ($projectId,$assetsIds) {
@@ -501,6 +502,14 @@ class ProjectController extends Controller
                 ]);
             }
         });
+
+        //取消关联没有关联资产的需求
+        if(!$oldAssetId->isEmpty()){
+            $removedAssetIds = $oldAssetId->diff($assetsIds);
+            ProjectRequirement::query()->where('project_id', $projectId)->whereIn('asset_id',$removedAssetIds)->delete();
+        }
+
+
         return $this->noContent();
     }