Как получить ассоциации вместе с аутентифицированными данными пользователя?
у меня естьUsers
стол иUsersProfiles
таблица - эти два явно связаны, и пользовательская таблица хранит основныеuser_id
, username
, password
в то время как таблица users_profiles хранитfirstname
, lastname
, job_title
и т.п.
В CakePHP 3 вызов компонента Authentication при входе в систему возвращает строку основной пользовательской таблицы. Я хотел бы изменить то же самое, чтобы также вернуть соответствующую строку профиля. Как я могу это сделать?
Я нашел способ сделать это - но не уверен, есть ли более элегантный или более простой способ.
public function login() {
if ($this->request->is('post')) {
$user = $this->Auth->identify();
if ($user) {
// load profile and associate with user object
$profile = $this->Users->UsersProfiles->get($user['id']);
$user['users_profile'] = $profile;
$this->Auth->setUser($user);
return $this->redirect($this->Auth->config('loginRedirect'));
}
$this->Flash->error(__('Invalid username or password, try again'));
}
}