所以我寫了一個小方法來從基於propel的symfony-1.1項目的數據庫中獲取一些數據,並且所有的都很簡單,很棒,很整齊。Cast Varchar as propel for Intepeng for addAscendingOrderByColumn
但是有人極其沮喪地決定將一個整數存儲到varchar字段中,這會導致錯誤的順序,例如, {1,17,5},而不是我期待的數字,例如{1,5,17}。
我知道最好的方法是重新設計我的schema.yml,但是現在這不是一個選項。所以我想知道是否有一種方法可以把所說的varchar字段作爲一個整數,而不會過多地損害推進方法。
這是排序功能:
public static function getFooData($column = 'FooPeer::ID', $orderBy = 'asc') {
//FIXME: Sort varchar fields as integer, needed for FooPeer::REQUESTS
$c = new Criteria();
if ($orderBy == 'asc') {
$c->addAscendingOrderByColumn($column);
} else {
$c->addDescendingOrderByColumn($column);
}
return FooPeer::doSelect($c);
}
非常感謝。這工作。如果我可以的話,我會鼓勵你;) – k0pernikus