我有以下关系交易表是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')
对我不起作用
您遇到的主要问题不一定与排序有关,而与建立初始集合有关。
现在,您创建了两个集合transactionA
和transactionE
。然后,初始化同时包含transactionA和transactionE的第三个集合collection
。
您可以将其视为transactionA是一个记录框,而transactionE是另一个记录框。您想要的是一个大盒子的记录,但是当前代码将两个盒子都放在另一个更大的盒子中。对较大的盒子进行排序时,您所要排序的是较小的盒子在较大的盒子中最终的排列顺序。
您大概想要的是合并两个框的内容并排序整体。您可以通过merging the two collections:
$collection = $transactionA->merge($transactionE);