首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cakephp模型关联

Cakephp模型关联
EN

Stack Overflow用户
提问于 2011-07-30 05:43:18
回答 2查看 138关注 0票数 1

我正在尝试找出我应该使用哪种关系类型来关联以下内容:

我们有一个有老师和学生的教室。

学生和老师的belongsTo课堂。但是反过来呢?

我是否可以在课堂模型中使用以下内容:

var $hasMany = array('Students');

var $hasOne = array('Teacher');

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-30 05:55:23

取决于您希望如何检索和/或建模数据。

假设您的Classrooms将只有一个Teacher,或者Teachers将只有一个Classroom,您甚至可以将Classroom设置为Teacher的字段。

但我们将假设您希望彼此保持抽象。在这种情况下,您的模型将如下所示:

代码语言:javascript
复制
// classroom.php
class Classroom extends AppModel {
    var $hasMany = array( 'Student' );
    var $hasAndBelongsToMany = array( 'Teacher' );
}

// teacher.php
class Teacher extends AppModel {
    var $hasMany = array( 'Student' );
    var $hasAndBelongsToMany = array( 'Classroom' );
}

// student.php
class Student extends AppModel {
    var $belongsTo = array( 'Teacher', 'Classroom' );
}
票数 1
EN

Stack Overflow用户

发布于 2011-07-30 05:52:26

这在很大程度上取决于你的情况,但在我的母校,这确实是正确的,尽管可能需要添加不必要的关系。

老师有很多学生教室有一个老师教室有很多学生

然而,学生们会四处走动吗?学生和课堂之间的关系是完全必要的吗?我认为在这种情况下最具决定性的关系是教师和学生之间的关系。然后可能是老师--教室。根据这些关系,你可以推测一些学生是课堂的一部分。

因此:

-< (有一个)教师(有多个)学生

然后,你可以通过老师找到教室里的学生。

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

https://stackoverflow.com/questions/6879341

复制
相关文章

相似问题

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