【问题标题】:CakePHP models derivating from othersCakePHP 模型衍生自其他模型
【发布时间】:2014-02-20 07:05:00
【问题描述】:

我有一个情况,我被困住了。

我的应用中有这些模型:

PersonTeacherStudentEmployeeClassification

所以我想补充一下

  • ClassificationTeacherStudentEmployee

我不想在所有表中都有分类外键,所以我想出了表人,我有下一个关系:

  • 人(无外键)
  • 教师(带人外键)
  • 学生(使用人外键)员工(使用人外键)
  • 分类(使用人外键)

例如,我怎样才能从老师那里得到所有的分类?

我在 cakephp 模型中添加了哪些关系?

编辑: 也许是这个?

 class Classification extends AppModel {
        public $belongsTo = array(
            'Person' => array(
                'className' => 'Person',
                'foreignKey' => 'person_id'
            ),

        );
 }

然后

class Person extends AppModel {
    public $hasMany = array(
        'Teacher' => array(
            'className' => 'Teacher',
            'foreignKey' => 'person_id'
        ),
        'Student' => array(
            'className' => 'Student',
            'foreignKey' => 'person_id'
        ),
        'Employee' => array(
            'className' => 'Employee',
            'foreignKey' => 'person_id'
        ),
    );
}

这个案例正确吗?

【问题讨论】:

    标签: php cakephp


    【解决方案1】:
    • TeacherhasMany Classification
    • StudenthasMany Classification
    • Employee hasMany Classification

    【讨论】:

    • 感谢您的回答,但我放的是 Person 表吗?我给出了这个例子,但是我需要添加更多的关系,比如分类,我需要添加到这 3 个实体中
    • 教师、学生和员工有什么区别? (他们每个人都有不同的功能吗?)也许他们都是人,他们都应该在同一个表/模型中,并且有一个type 字段。
    • 不,他们不能在同一张桌子,因为他们有不同的属性
    • 你有多少型号?你可以为他们粘贴数据库结构吗?
    • 我的数据库非常复杂。这只是一个示例,因为数据库与此无关。只是一个类似的结构,我被卡住了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 2021-12-31
    • 2021-04-10
    • 2021-03-09
    • 2022-10-20
    • 2013-04-23
    相关资源
    最近更新 更多