CakePHP - HABTM - 获取已连接数据库表的结果

时间:2012-02-11 14:40:50

标签: php cakephp many-to-many cakephp-2.0 has-and-belongs-to-many

我正在使用CakePHP 2.0,我在用户和课程之间有多对多的关系。 我有一个数据库表userscoursescourses_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关系中这样做?

最诚挚的问候。

2 个答案:

答案 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创建模型?

相关问题