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基準オブジェクトでとの組み合わせを使用する必要があり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/

于 2010-02-01T16:55:59.950 に答える