2009-11-05 18 views
6

cómo puedo obtener el id insertado cuando inserto un registro de esta manera usando cakephp $ this-> query ("insertar en [tablename] ([colname]) values ([colvalue]);

+3

¿Por qué no utiliza el método save() incorporado cakephp? – kouak

Respuesta

3

Suponiendo que está usando MySQL se podía realizar la consulta siguiente después de que hizo el inserto:

$array_with_id = $this->query('select last_insert_id() as id;');

Pero como se mencionó por kouak, la forma habitual para insertar datos es use el método save(). Si usa este método, la identificación del registro insertado estará automáticamente disponible en la propiedad $ id o f el modelo respectivo.

3

Si se utiliza el método del save() puede obtener el identificador de este modo:

$this->Model->save($data); 
$id = $this->Model->id; 
2

clase del modelo de la torta tiene una función que tiene la última ID insertado:

$this->Model->getLastInsertID() 

línea 2584 en el proyecto {-carpeta} /cake/libs/model/model.php

0

utilice este método para obtener la última Identificación del inserto en cakephp2

$data['yourModelName']['yourTableField'] = POstdata 
$data['yourModelName']['yourTableField'] = time(); 
$data['yourModelName']['yourTableField'] = 1; 
$data['yourModelName']['yourTableField'] = time(); 

$this->yourModelName->create(); 
$this->yourModelName->save($data,false); 
$sessionInserted_id = $this->yourModelName->getInsertID(); 
Cuestiones relacionadas