Вопрос

Я пишу тест подразделения в 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.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top