private function seedFlowTypes()
 {
     $rows = array_map(function ($mainflowType, $detailingflowTypes) {
         $mainflowType = MainflowType::create(['name' => $mainflowType]);
         foreach ($detailingflowTypes as $detailingflowType) {
             DetailingflowType::create(['mainflow_type_id' => $mainflowType->id, 'name' => $detailingflowType]);
         }
     }, $this->mainflowTypes, $this->detailingflowTypes);
 }
 public function works($projectId, Request $request)
 {
     $mainflowTypeId = $request->query('mainflow_type_id');
     $detailingflowTypeId = $request->query('detailingflow_type_id');
     $project = \App\Entities\Project::findOrFail($projectId);
     $query = \App\Entities\ProjectWork::query();
     if (!empty($mainflowTypeId)) {
         $query->whereHas('detailingflowType', function ($query) use($mainflowTypeId) {
             $query->whereMainflowTypeId($mainflowTypeId);
         });
         $mainflowTypeName = \App\Entities\MainflowType::findOrFail($mainflowTypeId)->name;
     }
     if (!empty($detailingflowTypeId)) {
         $query->whereDetailingflowTypeId($detailingflowTypeId);
         $detailingflowTypeName = \App\Entities\DetailingflowType::findOrFail($detailingflowTypeId)->name;
     }
     $works = $query->get();
     return view('bids.works', compact('project', 'works', 'mainflowTypeName', 'detailingflowTypeName'));
 }
 public function index($projectId, Request $request)
 {
     $mainflowTypeId = $request->query('mainflow_type_id');
     $detailingflowTypeId = $request->query('detailingflow_type_id');
     $project = \App\Entities\Project::findOrFail($projectId);
     $query = \App\Entities\ProjectWork::query();
     if (!empty($mainflowTypeId)) {
         $query->whereHas('detailingflowType', function ($query) use($mainflowTypeId) {
             $query->whereMainflowTypeId($mainflowTypeId);
         });
         $mainflowTypeName = \App\Entities\MainflowType::findOrFail($mainflowTypeId)->name;
     }
     if (!empty($detailingflowTypeId)) {
         $query->whereDetailingflowTypeId($detailingflowTypeId);
         $detailingflowTypeName = \App\Entities\DetailingflowType::findOrFail($detailingflowTypeId)->name;
     }
     $works = $query->whereProjectId($project->id)->with('detailingflowType.mainflowType', 'unit', 'workitems.costType')->get();
     return response()->json(compact('works'));
 }
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index($mainflowTypeId)
 {
     $detailingflowTypes = DetailingflowType::whereMainflowTypeId($mainflowTypeId)->get();
     return response()->json(['detailingflow_types' => $detailingflowTypes]);
 }