default.ctpビューにcakephpを使用してユーザーのユーザー名を表示できるようにしたい。authComponentを使用して、ユーザーIDを検索できることはわかっていますが、これを使用してユーザーテーブルからユーザー名を検索するにはどうすればよいですか?私はコントローラーからこれを行うことに慣れていますが、ビュー内でこれを行う方法がわかりません。
users table
userid | username
コントローラ内でそれを行う方法をすでに知っている場合は、戦闘の 99% が完了しています。コントローラーで取得したユーザーをビューに渡すだけです。
コントローラーで:
$user = $this->User->read(null, $this->Auth->user('id'));
$this->set('user', $user);
あなたの見解では:
<?php echo $user['User']['username']; ?>
これは非常に基本的な Cake のものです。マニュアルにもう少し時間を費やす必要があります :)
私はCakePHPに精通していません。ただし、MVCフレームワークでは、ビューからデータベースにアクセスしないでください。これを処理する正しい方法は、どのデータ(通常はモデルからのもの)を表示するかをコントローラーにビューに指示させることです。
CakePHP内のMVCの詳細については、こちらを確認してください。
Cake 3.6.X の時点で、これは私が Cake 3 で使用しているもののサンプルであり、認証されたユーザーのユーザー名を出力するログアウト ボタンも作成します。
<?php
$usert=$this->request->getsession()->read('Auth.User');
//then you can print the 'username' by
echo $user['username'];
?>
Cake の以前のバージョンではこれらの機能が利用可能でしたが、現在は非推奨の通知があります:
$usert=$this->request->session()->read('Auth.User');
$usert=$this->Session->read('Auth.User');