|
@@ -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();
|
|
|
}
|
|
|
|