我正在使用CakePHP 2.0,我在用户和课程之间有多对多的关系。
我有一个数据库表users
,courses
和courses_users
。
问题是删除已与用户关联的课程。如果courses_users
中有与用户的关联,我不会删除它们。
所以我在我的模型Course.php
function beforeDelete() {
if (??? == 0) {
return true;
}
return false;
}
我需要的是用CakePHP编写的数据库查询,以便我可以确定课程是否与任何用户无关(x == 0)。 我怎样才能做到这一点?我可以用1:n的关系来写这个
if($this->User->find("count", array("conditions" => array("course_id" => $this->id))) == 0)
但我怎么能在我的n:m关系中这样做?
最诚挚的问候。
答案 0 :(得分:1)
您可以像检查hasMany一样检查,因为一个课程有多个用户,一个用户有多个课程。
所以试试这个(你不需要创建UsersCourse或CoursesUser模型)
在课程模型中:
public $hasAndBelongsToMany = array('User');
//在你的方法中
if($this->CoursesUser->find("count", array("conditions" => array("course_id" => $this->id))) == 0);
答案 1 :(得分:0)
为什么不为courses_user创建模型?