Esempio n. 1
0
 /**
  * 一覧表示
  *
  * @param Request $request
  * @return \Illuminate\View\View
  */
 public function index(Request $request)
 {
     // 日誌一覧を取得
     $builder = WorkDiary::with('crop', 'workField');
     if (!is_null($request->input('field_ids'))) {
         $builder->whereIn('work_field_id', (array) $request->input('field_ids'));
     }
     if (!$request->has('archive')) {
         $builder->where('archive', false);
     }
     $workDiaries = $builder->orderBy('archive')->latest()->paginate(config('const.max_work_diary'));
     // 圃場一覧を取得
     $workFields = WorkField::orderBy('display_order')->get();
     return view('workDiary.index', compact('workFields', 'data', 'workDiaries'));
 }
Esempio n. 2
0
 /**
  * 編集画面
  *
  * @param WorkRecord $workRecord
  * @param Request $request
  * @return \Illuminate\View\View
  */
 public function edit(WorkRecord $workRecord, Request $request)
 {
     // 農薬情報をクリア
     session()->forget('workRecord.pesticides');
     $crop = $workRecord->crop;
     // 編集中の日誌がある作業日誌を取得
     $workDiaries = WorkDiary::with('workField')->where('archive', false)->where('crop_id', $crop->id)->get()->sortBy('workField.display_order');
     // 品種を取得
     $cultivars = $crop->cultivars()->get();
     // 農薬情報を取得
     $pesticides = $crop->pesticides()->with('unit')->get();
     // 既に登録されている農薬情報をセッションに設定
     $sessionPesticides = session()->get('workRecord.pesticides', collect());
     foreach ($workRecord->workPestControls()->with('pesticide', 'pesticide.unit')->get() as $workPestControl) {
         $pesticide = $workPestControl->pesticide;
         $sessionPesticides->put($pesticide->id, collect(['pesticide_id' => $pesticide->id, 'usage' => $workPestControl->usage, 'pesticide_name' => $pesticide->name, 'unit_name' => $pesticide->unit->name]));
     }
     session()->put('workRecord.pesticides', $sessionPesticides);
     return view('workRecord.edit', compact('workRecord', 'workDiaries', 'cultivars', 'pesticides'));
 }