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