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).

¿Fue útil?

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.

http://php.net/manual/en/function.mysql-insert-id.php

http://php.net/manual/en/mysqli.insert-id.php

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top