Просмотр исходного кода

需求树构建查询筛选关联已关联需求

kely 11 месяцев назад
Родитель
Сommit
644e87990e
1 измененных файлов с 17 добавлено и 2 удалено
  1. 17 2
      app/Http/Controllers/API/ProjectController.php

+ 17 - 2
app/Http/Controllers/API/ProjectController.php

@@ -329,11 +329,26 @@ class ProjectController extends Controller
         return SimplePlanResource::collection($project->plans);
     }
 
-    public function requirement(string $id)
+    public function requirement(Request $request,string $id)
     {
         $project = Project::findOrFail($id);
 
-        $requirements = $project->requirements()->with(['createdBy'])->simplePaginate();
+        // 初始化 requirements 的查询构建器
+        $requirementsQuery = $project->requirements();
+
+
+        if ($request->has('asset')) {
+            $asset_id = $request->input('asset');
+            $requirementsQuery->where('requirements.asset_id', $asset_id);
+        }
+        if ($request->has('requirementGroup')) {
+            $requirementGroup = $request->input('requirementGroup');
+            $requirementsQuery->where('requirements.requirement_group_id', $requirementGroup);
+        }
+
+        $requirements = $requirementsQuery
+            ->with(['createdBy']) // 预加载 createdBy 关联
+            ->simplePaginate();
 
         return ProjectRequirementResource::collection($requirements);
     }