/** * Update the specified resource in storage. * * @param Request $request * @param int $id * @return Response */ public function update(Request $request, $id) { // $rules = array('speices' => 'required', 'classify' => 'required', 'type' => 'required', 'condition' => 'required', 'SampleExtration' => 'required', 'ribosomalDepletion' => 'required', 'operator' => 'required', 'sender' => 'required', 'sampleNum' => 'required', 'shippingCondition' => 'required', 'salesman' => 'required_with:salesmanGetDate', 'labman' => 'required_with:labmanGetDate', 'salesmanGetDate' => 'date|required_without:labmanGetDate|required_with:salesman|before:tomorrow', 'labmanGetDate' => 'date|required_without:salesmanGetDate|required_with:labman|before:tomorrow'); if (empty($request->get('salesmanGetDate'))) { $rules['sampleGetDate'] = 'required|date|before:labmanGetDate'; } elseif (empty($request->get('labmanGetDate'))) { $rules['sampleGetDate'] = 'required|date|before:salesmanGetDate'; } else { if ($request->get('salesmanGetDate') > $request->get('labmanGetDate')) { $rules['sampleGetDate'] = 'required|date|before:labmanGetDate'; } else { $rules['sampleGetDate'] = 'required|date|before:salesmanGetDate'; } } $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return back()->withErrors($validator)->withInput(); } $extraction = Extraction::findOrFail($id); $extraction->update(['speices' => $request->get('speices'), 'classify' => $request->get('classify'), 'type' => $request->get('type'), 'condition' => $request->get('condition'), 'is_treatRNase' => $request->get('is_treatRNase'), 'RNAisolationMethod' => $request->get('RNAisolationMethod'), 'note' => $request->get('note'), 'SampleExtration' => $request->get('SampleExtration'), 'ribosomalDepletion' => $request->get('ribosomalDepletion'), 'operator' => $request->get('operator'), 'create_at' => $request->get('create_at')]); $operator = User::findOrFail($request->get('operator')); $extraction->operator()->associate($operator); $POrecord = POcase::findOrFail($request->get('POrecord_id')); $extraction->POrecord()->associate($POrecord); $Shipment = new Shipment(array('sender' => $request->get('sender'), 'sampleGetDate' => $request->get('sampleGetDate'), 'sampleNum' => $request->get('sampleNum'), 'salesman' => $request->get('salesman'), 'salesmanGetDate' => $request->get('salesmanGetDate'), 'shippingCondition' => $request->get('shippingCondition'), 'labman' => $request->get('labman'), 'labmanGetDate' => $request->get('labmanGetDate'))); $user = User::find(\Auth::id()); $Shipment->creater()->associate($user); $Shipment->extraction()->associate($extraction); $Shipment->save(); $extraction->Shipment_id = $Shipment->id; $extraction->save(); $POrecord->save(); return \Redirect::to('research/ngs/projects/show/' . $POrecord->project->id)->with('message', 'Your Extraction has been updated!'); }