ビューセル内でユーザの名前を取得するには直接sessionを参照する方法があります。
調べていると、以下の方法がオーソドックスな様でした。
$session = $this->request->session(); $username = $session->read('Auth.User.username');
しかし、この方法でユーザ名を取得するには、UserTableのファインダーメソッドのfindAuth()
のフィールドにusername
が追加されている必要があります。
このフィールドがセットされていないとsessionに保持されません。
UserTable.php
public function findAuth(\Cake\ORM\Query $query, array $options) { $query->select(['id', 'username', 'password']); return $query; }