在 CakePHP 的视图中查找用户名


look up username in view on cakephp

我希望能够在我的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');