Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
cyberfox
цитировать
Зарегистрирован: 20 Янв 2008 14:50:10 Сообщения: 16
|
Добавлено: 27 Мар 2008 17:54:11 Заголовок сообщения: Модель. Сохранение данных. |
|
|
Всем привет. Столкнулся с проблемой: нужно получить Id только что вставленной записи, после вызова Model::save() в БД данные появляются, но Model::getInsertId() возвращает false.
Честно мне трудно понять в чем причина, ведь все валидации данные проходят успешно.
Код из контроллера.
Код: |
if ($this->Admin->save()){
var_dump($this->Admin->getIinsertID());
...
}
|
Как узнать id вставленной записи? |
|
Вернуться к началу |
|
|
nws
цитировать
Зарегистрирован: 25 Фев 2008 15:42:23 Сообщения: 96
|
Добавлено: 27 Мар 2008 18:21:50 Заголовок сообщения: |
|
|
Тебе надо найти последний ID
ORDER BY id DESC |
|
Вернуться к началу |
|
|
cyberfox
цитировать
Зарегистрирован: 20 Янв 2008 14:50:10 Сообщения: 16
|
Добавлено: 27 Мар 2008 18:27:25 Заголовок сообщения: |
|
|
На самом деле я не внимателен и если присмотреться то метода Model::getIinsertID() мы врядли найдем.
Хотя ORDER BY id DESC - вариант если LIMIT 1
Думаю тему можно кикнуть |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 28 Мар 2008 11:03:40 Заголовок сообщения: |
|
|
А если присмотреться, то getLastInsertID тоже не подходит никак? |
|
Вернуться к началу |
|
|
xxx
цитировать
Зарегистрирован: 03 Мар 2008 15:58:41 Сообщения: 24
|
Добавлено: 28 Мар 2008 12:43:14 Заголовок сообщения: |
|
|
можно в модели сделать вот так
function afterSave (){
echo $this->id;
} |
|
Вернуться к началу |
|
|
cyberfox
цитировать
Зарегистрирован: 20 Янв 2008 14:50:10 Сообщения: 16
|
Добавлено: 28 Мар 2008 13:35:11 Заголовок сообщения: |
|
|
Думаю описанные методы подойдут, но я просто сделал опечатку в названии функции: вместо getInsertID() я ошибся и написао getIinsertID(). Поэтому ничего не работало _________________ Мой сайт http://ring-0.ru |
|
Вернуться к началу |
|
|
|