如何在doctrine 1.2中选择没有关系记录的表记录

时间:2014-11-10 13:05:27

标签: doctrine

如何使用doctrine 1.2查询选择所有没有关系记录的表记录?

我尝试过这种事情(下面),但它告诉我没有t.Relations,可能是因为我在Relation表中设置了FK关系? 看起来这应该很容易,但无法理解。看看子查询,但无法理解这是否是正确的事情。 感谢。

     $q = Doctrine_Query::create()
    ->from('Table t')
    ->leftJoin('t.Relations r')
     ->where('t.user_id = ?',$userId)
     ->andWhere('t.Relations IS NULL')
        return $q->execute();

许多简化架构:

Table:
  columns:    
    id:
      type:             integer
      notnull:          true
    user_id:
      type:             integer
      notnull:          true
  relations:
    User:
      class:            User
      foreign:          id
      local:            user_id
      foreignAlias:     Users



Relation:
  columns:    
    table_id:
      type:             integer
      notnull:          true
  relations:
    Table:
      class:            Table
      foreign:          id
      local:            table_id
      foreignAlias:     Relations

1 个答案:

答案 0 :(得分:0)

在不知道您的错误消息的情况下,我只是猜测,但错误可能在您的andWhere(..)声明中。表格t没有属性Relation,而是您要查看表格r

$q = Doctrine_Query::create()
    ->from('Table t')
    ->leftJoin('t.Relations r')
    ->where('t.user_id = ?',$userId)
    ->andWhere('r.table_id IS NULL')
return $q->execute();