2012-02-28 30 views
-3

我想確保在這裏有適當的關聯。下面我列出我的模型,那麼所有的關聯:CakePHP:Model Associates

  • 場(包含「student_id數據」爲教師的課堂教學和課程類型字段,classroom_id「course_type_id」)
  • CourseType
  • 教室
  • 學生
  • StudentCourses(當一個學生報爲一療程..它包含 'student_id數據' 和 'COURSE_ID')

這裏是我有的協會:

  • 當然:'belongsTo'CourseType; 'belongsTo'課堂; 'belongsTo'學生(指導員); 'hasAndBelongsToMany' StudentCourse
  • CourseType: '的hasMany' 課程
  • 教室: '的hasMany' 課程
  • 學生: '的hasMany' 課程; 'hasAndBelongsToMany'StudentCourse

這種看法合適?

+0

這絕對不是家庭作業。我有關聯問題,我無法想象它.. – execv 2012-02-28 19:40:06

回答

0

整體看起來很接近,但是您不通過HABTM將模型與連接表相關聯,而是將其與其他模型相關聯,並且默認情況下會使用連接表。

你的連接表不需要一個模型,除非你正在做hasMany Through,它不會出現你。聯接表應該是courses_students(排名不分先後)

的關係(只要我可以從你的描述告訴)應該是這樣的:

//Course 
$belongsTo = array('Classroom', 'Student', 'CourseType'); 
$hasAndBelongsToMany = array('Student'); 

//Student 
$hasAndBelongsToMany = array('Course'); 
$hasMany = array('Course'); 

//Classroom 
$hasMany = array('Course'); 

//CourseType 
$hasMany = array('Course'); 

有些事情要考慮:

  • 如果課程在多個教室中,該怎麼辦?
  • 有沒有學生以外的人可以教課程的情況?
  • 一門課程可以不止一種?
  • 一個課程是否可以由一個以上的學生教授?