gpt4 book ai didi

php - CakePHP:将数据库 'inheritance' 转换为应用程序模型/ Controller

转载 作者:行者123 更新时间:2023-11-29 04:13:07 24 4
gpt4 key购买 nike

我目前正在为包含许多不同用户类型的系统设计数据库。我的架构如下所示:

## Users

id INT
name VARCHAR(60)
email VARCHAR(60)

## Doctors

id INT
user_id INT
specialism VARCHAR(60)
qualification_id INT

本质上,医生表是用户表的子表。

现在,当我在 Cake 中创建我的模型、 Controller 和模型时,我认为创建一个用户模型然后将其子类化为医生模型是合乎逻辑的。但这在使用 $scaffold 进行测试时似乎不起作用('has one''belongs to' 关系工作得相对较好,但这种方式我不会子类化 Users 类)。

对于以这种方式设计的数据库,您建议采用哪种方法?

最佳答案

CakePHP 不是为此而设计的。 CakePHP 使用 ActiveRecord 模式。当您的模型与您的数据库表大致匹配时,此模式非常有用。但是当您想按照您现在尝试的方式设置模型时,它就会崩溃。对于您的设置,您需要类似数据映射器模式的东西(例如由 Zend_Db 实现)。

在您的情况下,我会简单地将 User 和 Docter 设置为具有 hasOne/belongsTo 关系的两个独立模型。顺应大势所趋要比与之抗争容易得多。

关于php - CakePHP:将数据库 'inheritance' 转换为应用程序模型/ Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5039227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com