У меня есть метод для извлечения данных из базы данных для проекта Symfony-1.1 на базе Propel.
Теперь получен вариант использования для хранения целого числа в поле varchar
, котороеприводит к неправильному порядку, например, {1, 17, 5}
, а не к числовому, который я ожидал, т.е. {1, 5, 17}
.
. Я знаю, что одним из способов было бы перепроектировать мой schema.yml
, но это невариант.Мне было интересно, есть ли способ преобразовать указанное поле varchar
в целое число без ущерба для подхода propel.
Это функция сортировки:
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);
}