Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Модель. Сохранение данных.

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
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

Думаю тему можно кикнуть Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
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(). Поэтому ничего не работало Smile
_________________
Мой сайт http://ring-0.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru