2010-02-01 62 views
3

这里是我需要运行Symfony Propel Pager - 发送自定义MySQL查询的正确方法是什么?

SELECT REPLACE(REPLACE(SUBSTRING_INDEX(LOWER(table.url查询), '/',3), ''),“HTTP 'WWW'。:/ /','')AS域FROM表GROUP BY域

但我无法将这样的查询作为条件传递给Propel寻呼机。我希望这会起作用。

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

但不幸的是它没有。任何想法如何使用标准方法通过这个?

UPDATE

对于那些有兴趣,这是结束了工作,谢谢!

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

回答

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/

+0

“addAsColumn” 似乎正是我一直在寻找,这工作,谢谢! – thisisrobv 2010-02-01 17:40:31

相关问题