我希望能够在我的default.ctp视图中使用cakephp显示用户的用户名。使用身份验证组件我知道我可以查找用户 ID,但是如何使用它从用户表中查找用户名?我习惯于从控制器执行此操作,我不确定如何在视图中执行此操作。
users table
userid | username
如果你已经知道如何在控制器中做到这一点 - 那么你已经完成了99%的战斗。您只需要在控制器中检索到的用户传递到视图。
在控制器中:
$user = $this->User->read(null, $this->Auth->user('id'));
$this->set('user', $user);
在您看来:
<?php echo $user['User']['username']; ?>
这是非常基本的蛋糕东西,你应该花更多的时间在手动:)
我不熟悉CakePHP。但是在任何 MVC 框架中,您都不应该从您的视图访问数据库。处理此问题的正确方法是让控制器告诉视图要显示哪些数据(通常来自模型)。
有关 CakePHP 中 MVC 的更多信息,请查看此处。
从蛋糕 3.6.X 开始,这是我在 onder 中用于蛋糕 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');