/** * clona un concepto del tipo analisis. * @return (object) concepto clonado */ protected function clonar($concepto, $toParent, $modelo) { $flagCustomPrecio = isset($concepto->customPrecio) && $concepto->customPrecio; unset($concepto->customPrecio); $copia = clone $concepto; unset($copia->id); $copiaSaved = parent::save($this->filterToSave($copia)); $copia->id = $copiaSaved->id; // copia relacion con el padre if (isset($toParent)) { $this->insertRelation($toParent, $copia, $modelo); } // copia relaciones con los hijos sii no tiene un precio customizado if (!$flagCustomPrecio) { if (isset($modelo)) { $query = "insert into " . $this->fromRelaciones . " (id_sup,id_inf,id_modelo,custom_nombre,cantidad,factor) " . " select ? as id_sup,id_inf,id_modelo,custom_nombre,cantidad,factor FROM " . $this->fromRelaciones . " where id_sup = ?"; } else { $query = "insert into " . $this->fromRelaciones . " (id_sup,id_inf,custom_nombre,cantidad,factor) " . " select ? as id_sup,id_inf,custom_nombre,cantidad,factor FROM " . $this->fromRelaciones . " where id_sup = ?"; } DB::prepareExecute($query, array($copia->id, $concepto->id)); } return $copia; }