我正在创建一个需要通过post_likes,post_dislikes列过滤的angularJs应用。
现在它没有过滤整个数字: 例如:
<a id="changeLikes" href="" ng-click="order('-post_likes')"></a>
<a id="changeDislikes" href="" ng-click="order('-post_dislikes')"></a>
单击上面的changeLikes选项卡时,排序如下:
post_likes => 0
post_likes => 11
post_likes => 2
post_likes => 33
post_likes => 4
不喜欢也会提供相同的结果(数字按第一个整数而不是整数排序。)
控制此数据的控制器是:
app.controller('listCtrl', function ($scope, services) {
services.getPosts().then(function(data){
$scope.posts = data.data;
$scope.predicate = 'post_id';
$scope.reverse = false;
$scope.order = function(predicate) {
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
$scope.predicate = predicate;
};
});
});
数据是通过PHP提取的,没有对SQL语句设置限制。
post_likes和dislikes两列都是MySql DB中的int(9)。
答案 0 :(得分:0)
@Claies是正确的,正在编码的数据全部转为字符串,使用JSON_NUMERIC_CHECK返回我的数据修复了问题。
return json_encode($data, JSON_NUMERIC_CHECK);