首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户注册与cakephp 2?

用户注册与cakephp 2?
EN

Stack Overflow用户
提问于 2012-02-28 15:16:04
回答 1查看 723关注 0票数 0

我是cakephp的新手,对php有一定的经验。Ive使用cakephp 1.3,am使用cakephp 2.06 atm。

我有一个问题困扰着我;

我想为3种类型的用户创建一个用户注册系统:

  • customer
  • Retailer
  • Manufacturer

考虑到所有3个用户都可能有不同的字段,那么用cakephp做这件事的最佳方法是什么?

  1. 在user表中创建所需的所有字段,并使用该字段(用于设置用户类型的字段),在其中我可以检查和请求/显示所需的数据。
  2. 为每个表创建3个表,并有一个外键链接它们。(看上去像complicated)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-28 16:16:55

您至少希望将所有登录信息(用户名/密码)保存在users表中。假设每种用户类型都有一些重叠的数据,那么保留user表中的所有字段(或相关的“概要”表)可能是很好的。

如果您想分离数据,可以使用profile_customersprofile_retailers...etc。但只有当数据几乎完全不同的时候,我才会这么做--我想大多数人都会有“电话”、“电子邮件”……等等。

要想为每种类型创建不同的注册表单,最简单的方法就是根据用户类型链接到您的注册表单:

代码语言:javascript
复制
http://www.mysite.com/users/register/customer

然后,在您的控制器中:

代码语言:javascript
复制
function register($type = null) {
    //...
    switch($type) {
        case 'customer':
            $this->render('registration_customer');
            break;
        case 'retailer':
            $this->render('registration_retailer');
            break;
        case 'manufacturer':
            $this->render('registration_manufacturer');
            break;
    }
    //...

然后,您可以为每个注册页拥有一个单独的CTP文件。或者,如果它们重叠很多,您也可以将一个变量从控制器传递到视图,并使用if语句只显示相关字段。

有很多方法可以做到这一点,但你问题的主要答案是--除非它们在你想要存储的数据中有很大的变化,也许最好将它们保存在同一个表中--而且至少要将用户名/密码或电子邮件/密码保留在用户表中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9484517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档