0

我想用 symfony 中的学说来做这样的查询。

SELECT * FROM view_of_model1 LEFT JOIN model2 ON model1.id = model2.model1_id

使用原始 sql 没问题,但我需要与 和 的模型建立model1联系model2view_of_model1是与 model1 表相同的字段的透视图。

你有什么想法?

编辑:我有一个table1

id | col_datetime1 | col_datetime2 | some_col
---------------------------------------------

我想按日期时间排序。如果some_col = true我想排序col_datetime1,如果some_col = false我想排序col_datetime2。另外我想加入另一个表(例如table2on table1.id = table2.table1_id。它可以通过from与 连接的部分中的子查询来完成UNION。也可以通过创建视图来完成。但是如何将它映射到 symfony 模型呢?

EDIT2: NativeQuery 会有帮助吗?

4

1 回答 1

-1

我相信意见只是复杂的情况,对你的情况没有附加价值,因为你想要的只是让事情变得更容易。

如果您想更简单地获取您想要的数据,而不是每次都编写连接,请在执行查询的 Table 类中创建一个方法,如下所示
即使您不会多次使用该方法,这也是一个很好的做法,因为不应该在控制器中编写数据库查询。

例子:

class MyTable extends Doctrine_Table
{
  public function getMyStuff($value)
  {
    return $this->createQuery('m')
      ->where('m.my_column = ?', $value)
      ->execute();
  }
}
于 2012-05-24T22:00:30.737 回答