Browse Source

修改资产带出的项目换为以project为主表

kely 1 year ago
parent
commit
f09525c47f

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

@@ -34,13 +34,8 @@ class ProjectController extends Controller
      */
     public function index(Request $request)
     {
-
-        $projectAsset = ProjectAsset::filter($request->all())->simplePaginate();
-        foreach ($projectAsset as $item){
-                $item->project = Project::find($item->project_id);
-                $item->asset = Asset::find($item->asset_id);
-        }
-        return ProjectAssetResource::collection($projectAsset);
+        $projectAsset = Project::filter($request->all())->simplePaginate();
+        return ProjectResource::collection($projectAsset);
     }
 
     /**

+ 1 - 2
app/Http/Resources/API/ProjectResource.php

@@ -22,8 +22,7 @@ class ProjectResource extends JsonResource
             'const' => $this->const,
             'begin' => $this->begin,
             'end' => $this->end,
-            'available_days' => $this->available_days,
-            'asset' => new AssetParentResource($this->asset),
+            //'asset' => new AssetParentResource($this->asset),
         ];
     }
 }

+ 14 - 0
app/ModelFilters/ProjectFilter.php

@@ -15,4 +15,18 @@ class ProjectFilter extends ModelFilter
     * @var array
     */
     public $relations = [];
+    public function apply($query)
+    {
+        return $query;
+    }
+    public function asset($assetId){
+
+        return $this->whereHas('assets',function ($query) use($assetId){
+            $query->where("path", "like", "%,". $assetId . ",%");
+        });
+    }
+
+    public function status($status){
+        return $this->whereIn('status',$status);
+    }
 }