【发布时间】:2015-01-01 05:20:12
【问题描述】:
我正在使用 MySQL、AngularJS 和 ngTable 来构建我的表格数据,但我在排序时遇到了问题。
数据库
`id` int(11) NOT NULL AUTO_INCREMENT,
`packageid` int(11) NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, // 2014-10-30 15:31:56
`status` int(11) NOT NULL DEFAULT '1',
SQL
$query = $this->db->query(
"SELECT packageinstance.id,
packageinstance.created // 2014-10-30 15:31:56
DATE_FORMAT(packageinstance.created, '%b %e, %Y') as date, // Jan 1, 2014
user.username,
status.name as status
FROM packageinstance
JOIN user ON user.id = packageinstance.creatorid
JOIN status ON status.id = packageinstance.status
WHERE packageinstance.locationid = ?
ORDER BY packageinstance.created DESC", array( $locationId ) );
ng-repeat="文档中的文档"中的AngularJS
<td data-title="'Date'"
sortable="'created'"
ng-bind="(doc.created|date:mediumDate)"></td> // attempt one
<td data-title="'Date'"
sortable="'date'"
ng-bind="(doc.date|date:mediumDate)"></td> // attempt two
对于这些格式中的任何一种,排序都不起作用,因为它是基于字符串进行排序的。无论如何将日期转换为Angular可以过滤的东西,但根据日期值排序,只需要更改SQL语句?如果不是,我需要做什么才能让排序工作?
【问题讨论】:
标签: javascript mysql angularjs sorting