Cakephp 2.6: Как получить роль из ассоциативной таблицы в Cakephp Auth

У меня есть имя таблицы users, которое связано с user_types. Таблица типов пользователей имеет имя поля role. Мне нужно это поле роли с помощью компонента Auth. Итак, я пробовал, как

$type = $this->Auth->user(['Usertype']['name']);

Здесь я получаю уведомление, что имя не определено. Я могу получить эти данные, добавить еще один запрос и установить его в сеансе. Мой вопрос в том, можно ли получить его с помощью компонента Cakephp Auth?

как мы можем получить имя пользователя Auth по коду ниже

$this->Auth->user('username'); 

То же самое возможно для ассоциативных данных?


person Satu Sultana    schedule 06.12.2015    source источник


Ответы (2)


Просто используйте

$type = $this->Auth->user('Usertype.name');
person Alimon Karim    schedule 06.12.2015

Вы правильно называете таблицы, но не модели. Соответствующая модель для таблицы user_typesUserType. Если вы настроили правильные ассоциации (это означает, что ваша таблица users должна иметь поле с именем user_type_id), вы должны получить это так:

  $this->Auth->user('UserType.name');

Подробнее об именовании здесь.

person skywalker    schedule 06.12.2015