como puedo concatenar 2 campos de una tabla

313 views
Skip to first unread message

Diely

unread,
Mar 13, 2011, 5:33:55 PM3/13/11
to symfony-es
hola!!! alguien puede ayudarme con doctrine. aqui les explico lo q
necesito:
tengo una tabla q contiene algunos campos y quisiera guardar en uno de
ellos los datos concatenados de otros 2 campos de la misma tabla, es
decir q al momento de ingresar los datos de esos campos, un tercer
campo se genere automaticamente con los datos ya ingresdos

Jonnatan Oyarzún

unread,
Mar 13, 2011, 6:55:03 PM3/13/11
to symfo...@googlegroups.com
Hola

Si lo que quieres hacer es que se guarde de forma automática deberias sobrescribir el método save(), por ejemplo lo ocupo para guardar la fecha al ingresar un nuevo pago:

//lib/model/doctrine/pago.class.php

class Pago extends BasePago

public function save(Doctrine_Connection $conn = null)
  {
    if ($this->isNew())
    {
      $now = time();
      $this->setFechaPago(date('Y-m-d H:i:s', $now));
    }

    return parent::save($conn);
  }
}

entonces ahí concatenas tus cadenas y lo guardas con el ->set

sl2

2011/3/13 Diely <diel...@hotmail.com>

--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.




--
Jonnatan Oyarzún
Estudiante Ingeniería Civil Informática
Universidad de Santiago de Chile

Cayetano

unread,
Mar 29, 2011, 6:15:56 AM3/29/11
to symfony-es
Aunque llegue un poco tarde la respuesta :(

Yo eso lo hago a nivel base de datos con Triggers de Mysql. Por
ejemplo tengo una tabla "empleado_persona" donde almaceno por separado
los campos nombre, apellido1, apellido2, luego los uno en uno que es
"name" (que lo usa Symfony para las relaciones). Creo un trigger para
la tabla empleados, mira este ejemplo:

-- ANTES INSERTAR
CREATE TRIGGER empleado_persona_BI BEFORE INSERT ON empleado_persona
FOR EACH ROW BEGIN
SET NEW.name=CONCAT(NEW.nombre, " ", NEW.apellido1, " ",
NEW.apellido2);
END;$$

-- ANTES ACTUALIZAR
CREATE TRIGGER empleado_persona_BU BEFORE UPDATE ON empleado_persona
FOR EACH ROW BEGIN
SET NEW.name=CONCAT(NEW.nombre, " ", NEW.apellido1, " ",
NEW.apellido2);
END;$$

Saludos!!
Reply all
Reply to author
Forward
0 new messages