以下是我需要运行的查询
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( '域');
答案 0 :(得分:3)
您需要在条件对象中使用Criteria::CUSTOM
和addAsColumn
的某种组合 - 您显然还需要使用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/