Symfony Propel寻呼机 - 发送自定义MySQL查询的正确方法是什么?

时间:2010-02-01 16:36:41

标签: mysql symfony1 propel pager

以下是我需要运行的查询

  

SELECT REPLACE(REPLACE(SUBSTRING_INDEX(LOWER(table.url),'/',3),'www。',''),'http://','')AS域FROM表GROUP BY域

但是我将这样的查询作为标准传递给Propel寻呼机时遇到了问题。我希望这会奏效。

  

$ criteria-> addSelectColumn('。SUBSTRING_INDEX('。TablePeer :: URL。',\'/ \',3)AS table');

但不幸的是,它没有。我有什么想法可以使用标准方法传递这个?

更新

对于那些感兴趣的人,这就是最终工作的结果,谢谢!

  

$ criteria-> addAsColumn('domain','SUBSTRING_INDEX('。TablePeer :: URL。',\'/ \',3)');
  $基准 - > addGroupByColumn( '域');

1 个答案:

答案 0 :(得分:3)

您需要在条件对象中使用Criteria::CUSTOMaddAsColumn的某种组合 - 您显然还需要使用doSelectRs(< = 1.2)或doSelectStmt( > = 1.3)我不确定具体的配方是什么,但这可能会让你朝着正确的方向前进(注意链接是1.2,所以根据1.3或1.4的需要更新sysntaxt / api)。

http://stereointeractive.com/blog/2009/07/21/propel-criteria-on-custom-columns-with-addascolumn/