0

我正在使用带有教义的 Symfony 1.4。我想用左连接创建查询:

SELECT * FROM table1 LEFT JOIN table2 on table1.id = table2.table1_id ...

我是这样做的:

Doctrine_Query::create()
->select('*')
->from('Table1 t')
->leftJoin('Table2 t2')
...

我在 Table1 和 Table2 之间的 schema.yml 关系中

  relations:
    Table2:
      class:          Table2
      local:          id
      foreign:        table1_id
      onDelete:       cascade
      type:           one
      foreignType:    one
      foreignAlias:   Table1Table2

最后我得到这样的查询:

SELECT * FROM table1, table2 ...

没有 LEFT JOIN 子句。有人知道为什么吗?

4

1 回答 1

1

关于join语法,您应该给出连接表的引用(查看leftJoin):

$q = Doctrine_Query::create()
        ->select('*')
        ->from('Table1 t')
        ->leftJoin('t.Table2 t2')
于 2012-07-12T08:34:04.373 回答