Obteniendo lastinsertid de una prueba de prueba en CakePHP
-
10-12-2019 - |
Pregunta
Estoy escribiendo una prueba de unidad en CakePHP 1.3 a través de SIMPLETEST.
ejecuto el siguiente código, que funciona (se crea como se espera)
$this->testAction('/post/add/user:'. $userId, array('method' => 'post'));
Necesito encontrar el ID de esa publicación adicional para usar en las siguientes dos pruebas: editar una publicación y eliminar una publicación.He intentado referenciar a través del modelo (I.E. $ Post-> ID, $ esta-> Post-> ID), pero parece que a través de la prueba no funciona de la misma manera.
También me doy cuenta de que podía consultar para encontrar Max (ID), pero luego, si simplemente sucede a otro usuario en el sistema de prueba que inserta una nueva publicación en casi a la misma hora,Podría arruinar los resultados (al menos, por lo que sé, corrígeme si estoy equivocado).
Solución
Usually, from a controller you should use
$this->Post->getLastInsertID();
This is a wrapper for connectors methods.
$this->Post->id
is used to set an id and then retrieve or set data.
Otros consejos
I never used cakephp before, but with mysql and mysqli you can get the last inserted ID with the following:
mysql_insert_id()
, and $mysqli->insert_id
respectively.