/** * Elimina cuadro comparativo, cotizaciones y relación articulo_cotizacion * * @param int $id * @return Response */ public function destroy($id) { $cuadro = Cuadro::findOrFail($id); $req_id = $cuadro->req_id; $cotizaciones = Cotizacion::whereReqId($cuadro->req_id)->with('articulos')->get(); foreach ($cotizaciones as $cotizacion) { $cotizacion->articulos()->detach(); $cotizacion->delete(); } /** * @todo Enviar correo a Jefe de la Unidad de Presupuesto * @todo Eliminar archivos cargados */ $ocs = Oc::whereReqId($req_id)->lists('id'); if (count($ocs) > 0) { Articulo::whereIn('oc_id', $ocs)->update(['oc_id' => 0]); foreach ($ocs as $oc_id) { $oc = Oc::find($oc_id)->delete(); } } $cuadro->delete(); return redirect()->action('RequisicionController@show', array($req_id))->with(['message' => 'Cuadro Comparativo cancelado con éxito', 'alert-class' => 'alert-success']); }