簡體   English   中英

Cakephp模型協會

[英]Cakephp model association

我試圖弄清楚應該使用哪種關系類型來關聯以下內容:

我們有一間有老師和學生的教室。

學生和老師屬於教室。 但是反過來呢?

我可以在“課堂”模型中使用以下內容:

var $hasMany = array('Students');

var $hasOne = array('Teacher');

謝謝。

取決於您要如何檢索和/或建模數據。

假設您的Classrooms只有一個Teacher ,或Teachers只有一個Classroom ,您甚至可以將Classroom設置為Teacher

但是,我們假設您希望將所有內容彼此抽象。 在這種情況下,您的模型將如下所示:

// 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' );
}

這非常取決於您的情況,但在我的舊學校里,這確實是正確的,盡管可能不需要添加不必要的關系。

老師有很多學生教室只有一位老師教室有很多學生

但是,學生會四處走動嗎? 學生與教室之間的關系是否完全必要? 我認為在這種情況下最確定的關系是師生關系。 然后是老師教室。 您可以根據某些學生是教室一部分的關系來推測。

因此:

教室-老師-<學生教室(有一個)老師(有很多)學生

然后,您將通過“老師”找到教室的學生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM