2011-04-12 105 views
0

我有一個MySQL查詢使用同一個表的兩個字段的差異oreder 2列之間的差異訂購的

SELECT * 
FROM postings 
ORDER BY vote_up - vote_down; 

其工作

我怎麼寫的使用推動標準此查詢,

我這樣寫的$criteria->addDescendingOrderByColumn(self::VOTE_UP-self::VOTE_DOWN)

但它會產生錯誤。任何人都知道請幫忙。

幫助受到高度讚賞。

感謝,

+0

什麼錯誤?它與doctrine沒有問題:Doctrine :: getTable('Model') - > createQuery('m') - > orderBy('m.vote_up - m.vote_down DESC') - > execute(); – Dziamid 2011-04-12 22:17:58

+0

什麼版本的Propel?在ModelCriteria.php中,在函數getSelectStatement中,你可以在'$ sql = BasePeer :: createSelectSql($ this,$ params)之後執行'sfContext :: getInstance() - > getLogger-> log($ sql) );'(或者如果它與你的Propel版本不同的話)。這是查看正在生成SQL的最簡單方法;當你完成後顯然需要調試。 – matt 2011-04-12 23:32:04

回答

0

嘗試:

$criteria->addDescendingOrderByColumn(self::VOTE_UP.' - '.self::VOTE_DOWN)

+0

這是你的啞光....它的工作原理 – user232751 2011-04-18 08:56:31