示例#1
0
 /**
  * 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;
 }