前提・実現したいこと
CakePHP4でAuthenticationを使用して認証機能を実装しているのですが、認証情報を取得する時にアソシエーションをして、認証ユーザーに紐づくテーブルも一緒に取得したいのですが、どのように実装したら良いでしょうか?
該当のソースコード
こちらを参考に実装し、認証ユーザの情報は取得できたのですが、紐づくStoresの値が取得できません。
Application.php
PHP
1 public function getAuthenticationService(ServerRequestInterface $request): AuthenticationServiceInterface 2 { 3 $authenticationService->loadIdentifier('Authentication.Password', [ 4 'fields' => [ 5 'username' => 'loginid', 6 'password' => 'password', 7 ], 8 'resolver' => [ 9 'className' => 'Authentication.Orm', //ここを追加 10 'finder' => 'auth' //ここを追加 11 ], 12 ]); 13 }
UsersTable.php
PHP
1 // ここを追加 2 public function findAuth(Query $query, array $options) 3 { 4 return $query->contain(['Stores']); 5 }
Controllerで
PHP
1$user = $this->Authentication->getIdentity();
実装方法がそもそも違う、呼び出しているメソッドが間違っている等何か解決方法をご存じの方がいらっしゃいましたら教えていただけると幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。