Я только учусь CakePHP, так что простите меняCakePHP Auth получить дополнительные данные
Я использую CakePHP 1.2.5 Auth компонент с UsersController. Модель пользователя содержит две таблицы:
class User extends AppModel {
var $name = 'User';
var $belongsTo = 'Company';
}
Когда Логин() вызывается, я вижу, что данные, извлекаются в журнале SQL (LEFT JOIN в настоящее время выполняется), поэтому модель кажется правильным, но Auth только хранит данные от users
стол и капли все остальное. Как я могу получить данные компании позже, не делая лишний запрос?
Возможно, было бы более удобно, если бы вы написали ключ сеанса 'Auth.User.Company'. Это позволит вам использовать методы обертки AuthComponent для доступа к значениям сеанса: '$ this-> Auth-> user ('Company.field');' – deizel
Приятный подход для случаев, когда база данных сложна! Например, если у вас есть что-то вроде «User HABTM Company (with => CompaniesUser)». В случае сценария OP просто «содержать» (конечно, с установленным поведением) в '$ this-> Auth-> authenticate ('Form' => array ('содержать' => array ('Company',. ..))) '. [Документы проверки подлинности] (https://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html). ** EDIT: ** Я действительно понимаю, что ответ был за торт 1.2. Мое предложение для торта 2.x (вот почему его комментарий, а не ответ!) – Fr0zenFyr