2012-06-04 1 views
0

Это тайна .. в моем контроллере Добавить функцию Я хочу ввести идентификатор пользователя в создаваемую запись. Я положил $ this-> Session-> read ('Auth.User.id') после инструкции create. Но это было всегда пусто. Я узнал, что могу получить имя пользователя и роль, но id всегда был пустым.cakephp может получить имя пользователя, роль, но не id

Я следую правилам именования торта для имен таблиц и полей. Таблица пользователей имеет: идентификатора имени пользователя роль

Вызов сессии и Auth я могу получить пользователь роли, имя, любое другое значение из таблицы, но не ID ... очень странно

$ this- > Session-> read ('Auth.User.role') ----> this возвращает роль

$ this-> Session-> read ('Auth.User.username') ----> это возвращает имя пользователя

$ this-> Session-> read ('Auth.User.id') ----> это пусто!

Любые идеи, что может случиться?

+0

Попробуйте '$ this-> Auth-> user ('id')' –

ответ

0

Таким образом, ответ на мой вопрос (который я узнал через некоторое время самостоятельно) заключается в том, что после добавления новой записи идентификатор autonumber не помещается в сеанс аутентификации для текущего пользователя. Cake делает это при входе в систему, поэтому вам нужно будет выйти из системы и войти в систему, чтобы получить новый идентификатор в сеансе аутентификации. Однако вы можете получить вновь вставленный autonumber пользователя с помощью getInsertId(), а затем использовать его для обновления сеанса Auth с помощью $ this-> Session-> write ('Auth.Model.id', $ this-> Model-> getInsertId()); - genoki 49 secs Редактировать

 Смежные вопросы

  • Нет связанных вопросов^_^