有没有办法使用Propel 1.7
在orderByXXX
函数中使用自然排序算法,所以我得到:
"thing1", "thing2", "thing10"
而不是:
"thing1", "thing10", "thing2"
我知道我可以转换为数组并在那里执行,或者我甚至可以使用原始sql查询来解决问题,但我更倾向于使用推进集合本身。
答案 0 :(得分:0)
实际订购与推进无关。请参阅http://www.copterlabs.com/blog/natural-sorting-in-mysql/以查找解决方案。
它可能看起来像
$query
->addAscendingOrderByColumn('LENGTH(title)');
->addAscendingOrderByColumn('title');