【发布时间】:2020-03-16 06:11:04
【问题描述】:
我有一个如下所示的 laravel 集合:
$data::where('name','xyz')->get();
//Returns {"id":"1" , "date":"11.11.2011"...}
{"id":"2","date":"12.11.2011"...}
我现在想要的是:按日期和时间对这些条目进行排序 所以每个日期有多个条目。 所以我考虑将具有相同日期的每个条目分成一个数组,对它们进行排序,然后将它们合并。 但我根本无法让它工作。我现在可以在这里发布一些代码,但那都是错误的,我相信这会让你的思想走向错误的方向。 问题是,条目是对象,我在比较时遇到问题。 任何帮助表示赞赏。
编辑:
感谢@Rafael Renan Pacheco,我现在所做的基本上是:
$sorted = $data->sortBy(function ($product, $key) {
return $product->date;
});
echo '<pre>';
foreach($sorted as $sort) {
var_dump($sort->date);
}
echo '</pre>';
导致:
string(10) "2019-11-08"
string(10) "2019-11-08"
string(10) "2019-11-08"
string(10) "2019-11-09"
所以这很好。但是我如何按第二个键排序,在我的情况下是“deptime”,它返回小时分钟和秒? 所以第一次按日期订购,完成。现在按时间订购,无需重新安排日期(同一天除外)。 我的意思是我也可以更新我的表,以便我与 2019-11-09 17:24:00 或其他日期约会。有什么想法吗?
【问题讨论】:
-
从您的数组中生成一些记录并显示预期结果
标签: arrays laravel sorting object