CAKEPHP3.x-用户身份验证组件包含表?

CAKEPHP3.x-用户身份验证组件包含表?,php,cakephp,Php,Cakephp,我正在使用CakePHP的Auth组件来获取用户登录数据,并希望将users_表与user_details表相关联。关联是有效的,如果我手动让用户退出,它也可以正常工作,但是当用户登录时,是否可以在关联表中加载auth组件?到目前为止,我尝试过这一点,但运气不佳: $this->loadComponent('Auth', [ 'authorize' => ['Controller'], 'authenticate' => [

我正在使用CakePHP的Auth组件来获取用户登录数据,并希望将users_表与user_details表相关联。关联是有效的,如果我手动让用户退出,它也可以正常工作,但是当用户登录时,是否可以在关联表中加载auth组件?到目前为止,我尝试过这一点,但运气不佳:

$this->loadComponent('Auth', [
        'authorize' => ['Controller'],
        'authenticate' => [
            'Form' => [
                'fields' => [
                    'username' => 'email',
                    'password' => 'password'
                ],
                'contain' => ['user_details']
            ]
        ],
        'loginAction' => [
            'controller' => 'users',
            'action' => 'login'
        ]
    ]);
请注意“contain”部分——这就是我尝试加载关联表的地方,但运气不好


谢谢。

contain已被弃用,取而代之的是“finder”

因此,在用户表中定义一个查找器

public function findDetails($query, array $options)
{
    return $query
        ->contain(['UserDetails']);
}
在AppController中

$this->loadComponent('Auth', [
    'authorize' => ['Controller'],
    'authenticate' => [
        'Form' => [
            'fields' => [
                'username' => 'email',
                'password' => 'password'
            ],
            'finder' => ['details']
        ]
    ],
    'loginAction' => [
        'controller' => 'users',
        'action' => 'login'
    ]
]);

contain已被弃用,取而代之的是“finder”

因此,在用户表中定义一个查找器

public function findDetails($query, array $options)
{
    return $query
        ->contain(['UserDetails']);
}
在AppController中

$this->loadComponent('Auth', [
    'authorize' => ['Controller'],
    'authenticate' => [
        'Form' => [
            'fields' => [
                'username' => 'email',
                'password' => 'password'
            ],
            'finder' => ['details']
        ]
    ],
    'loginAction' => [
        'controller' => 'users',
        'action' => 'login'
    ]
]);

我通常称之为find('auth'),但同样的事情:)我通常称之为find('auth'),但同样的事情:)