【发布时间】:2010-09-22 17:18:20
【问题描述】:
我想使用 CakePHP 从数据库中提取一组照片,按照片标题排序 (0, 1, 2, 3...) 我的查询目前看起来像:
$ss_photos = $this->Asset->find('all',array(
'conditions'=>array('kind'=>'photo'),
'order'=>'title'
));
不幸的是,标题似乎是字符串格式,导致排序顺序不理想(2.jpg 在 19.jpg 之后,等等)。在这种类型的 Cake 查询中,有没有一种快速的方法将 'title' 转换为 int 以用于排序目的?
【问题讨论】:
-
注:它们是 $ss_photos 是因为它们注定要在幻灯片中使用,而不是因为它们描绘了纳粹“Schutzstaffel”成员。有时,明确这些事情很重要。
-
你可以使用
CAST()或CONVERT() -
ORDER BY CAST(title AS INT) 或类似的可能会在 MySQL 中工作,只是在思考如何最好地将其集成到 CakePHP 查询中!