3

这是我需要运行的查询

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

但是我无法将这样的查询作为标准传递给 Propel 寻呼机。我希望这会奏效。

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

但不幸的是,事实并非如此。有什么想法可以使用标准方法通过它吗?

更新

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

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

4

1 回答 1

3

您需要在标准对象中使用Criteria::CUSTOM和该链接适用于 1.2,因此请根据 1.3 或 1.4 的需要更新 sysntaxt/api)。addAsColumndoSelectRsdoSelectStmt

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

于 2010-02-01T16:55:59.950 回答