如何在Laravel中对数据进行排序

问题描述 投票:-1回答:1

我有以下关系交易表是ETransaction和ATransaction的父表,属于交易表]

$transactionA= Transaction::with('tAccount')->has('tAccount')->get();
$transactionE= Transaction::with('tExchange')->has('tExchange')->get();
$collection = collect([$transactionE,$transactionA]);

$sorted = $collection->sortBy('created_at')对我不起作用

laravel sorting collections
1个回答
1
投票

您遇到的主要问题不一定与排序有关,而与建立初始集合有关。

现在,您创建了两个集合transactionAtransactionE。然后,初始化同时包含transactionA和transactionE的第三个集合collection

您可以将其视为transactionA是一个记录框,而transactionE是另一个记录框。您想要的是一个大盒子的记录,但是当前代码将两个盒子都放在另一个更大的盒子中。对较大的盒子进行排序时,您所要排序的是较小的盒子在较大的盒子中最终的排列顺序。

您大概想要的是合并两个框的内容并排序整体。您可以通过merging the two collections

$collection = $transactionA->merge($transactionE);
© www.soinside.com 2019 - 2024. All rights reserved.