CakePHP:如何构建用户的个人资料页面

时间:2011-02-05 17:08:50

标签: php cakephp cakephp-1.3 cakephp-appmodel has-one

我们如何构建输出用户数据的个人资料页面?此页面只能由登录的用户查看。就像我们访问我们的个人资料页面并查看我们自己的用户名,密码,电子邮件,地址等等。然后我们可以自己编辑它。它当然不能被其他用户编辑。

我对配置文件表的需求感到困惑,现在我觉得我们不需要它?我们可以在我们创建为profile.ctp的页面上使用一些PHP逻辑填充数据吗?

这很令人困惑,我跟着这个http://book.cakephp.org/#!/view/1041/hasOne并创建了一个配置文件表,其中包含了我的用户表中的一些字段,然后是一个名为user_id的外键。我检查了User和Profile模型都在关系中正确定义。我在Profile模型中有这个:

var $belongsTo = array(
        'User' => array(
            'className' => 'User',
            'foreignKey' => 'user_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )

,这在用户模型中:

var $hasOne = 'Profile'; 

当我浏览我的个人资料/索引时,有没有任何记录的字段名称。这是空集。我以为它应该从用户的表中检索数据??

为现有用户创建个人资料页面的最佳方式是什么?以及即将进行的注册?

1 个答案:

答案 0 :(得分:3)

您不需要个人资料表(如果您已有一个包含其信息的用户表)。

完成此操作的一种方法是,在用户验证之后,将他的id与用户的id进行比较,他想要显示哪个配置文件。如果这些匹配,那么它是正在查看自己的个人资料的用户,您可以让他查看他的信息。

当然,如果您打算将其设为公共可访问的网站,则需要考虑很多安全问题。