按日期Laravel对多维数组进行排序

时间:2017-09-26 13:54:33

标签: php arrays laravel sorting multidimensional-array

我需要按日期对多维数组进行排序。 数据在一个名为price的列中序列化,该列包含很少的值:价格和日期。 我在我的控制器中反序列化了这个,并且我已经获得了$ hlisting->价格。 我认为这个价格是一个数组,而我是按价格内的数据值排序所有$ hlisting。 (实物$ hlisting->价格 - >日期)。

这是一个可能有帮助的代码。

function titleCase(str) {
    let arr = [];
    str.toLowerCase();

    arr = str.split(" ");

    for (var index = 0; index < arr.length; index++) {
        arr[index] = arr[index].charAt(0).toUpperCase() + arr[index].slice(1); // <-- Changes
    }

    str= arr.join(" ");
    return str;
}
console.log(titleCase("Potato potato potato"));

我想我应该在将$ hlisting发送到视图的控制器中对它进行排序。

由于

1 个答案:

答案 0 :(得分:0)

我认为在查询数据库时最好解决这个问题。在查询中,您可以使用ORDER BY语句按特定顺序(在您的案例日期和价格中)提取行。调用多个Order By将分别按顺序查询它们

在Laravel:

$hlisting = Model::where('x', $y)->OrderBy('date','asc')->OrderBy('price','asc')->get();

或通用的mysql查询字符串:

SELECT * FROM table WHERE x = $y ORDER BY date ASC ORDER BY price ASC

例如。

通过执行此操作,您的$ hlisting对象/数组已经被正确订购,并且在您的视图中调用它时,它将按日期自动显示,然后按价格显示。