Получение LastInsertid от Simpletest Testaction в CakePhp
-
10-12-2019 - |
Вопрос
Я пишу тест подразделения в CakePhp 1.3 через Simpleetest.
Я запускаю следующий код, который работает (это создает как ожидалось)
$this->testAction('/post/add/user:'. $userId, array('method' => 'post'));
Мне нужно найти идентификатор этого добавленного поста для использования в следующих двух тестах - редактирование поста и удаление поста.Я пробовал ссылку на ссылку через модель (i.e. $ post-> ID, $ this-> post-> ID), но, по-видимому, происходит через тестирование, не работает так же.
Я также понимаю, что я могу запрашивать, чтобы найти Max (ID), но тогда, если просто есть другой пользователь в тестовой системе, которая вставляет новый пост на почти в то же время, этомог прикрутить результаты (по крайней мере, насколько я знаю - поправьте меня, если я ошибаюсь).
Решение
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.
Другие советы
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.