2010-02-01 63 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

相關問題