Left Join未在Active Record Yii中显示空记录

时间:2015-08-27 09:29:12

标签: mysql sql join yii left-join

我知道这个问题可能会在早些时候提出,我已经应用了那里提到的修复,但它们无法正常工作。

这是我的问题:

我想要加入两个表并获得结果。

  1. 任务(id,status,task_type_id)
  2. task_type(id,task_type_name)
  3. task_type与任务之间存在一对多的关系。

    我的要求:

    我想让用户创建的所有任务按其task_type_id分组并且当前不完整。

    以下是我的尝试:

    $criteria = new CDbCriteria();
        $criteria->select = "t.*, t2.task_type_id,count(t2.task_type_id) as total";
        $criteria->join = "LEFT JOIN task t2 on t.id=t2.task_type_id";
        $criteria->condition = "t.user_id=" . $user_id . " OR t.user_id is NULL";
        $criteria->addCondition("t2.user_id=" . $user_id);
        $criteria->addCondition("t2.status='Incomplete'");
        $criteria->group = "t.id";
        $criteria->order = 'total desc';
        $task_types = TaskType::model()->findAll($criteria);
    

    它返回一切正确但不显示task_type表的空值。即它只显示任务确实存在的那些task_type。它不显示task_type不存在的task_type。我想要任务存在与否的所有task_types。

    有人可以提出修复吗?我使用了左连接,它应返回两种类型的task_types但它不起作用。

0 个答案:

没有答案