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