Php 合并两个查询并根据在Laravel中创建的_at对它们进行排序

Php 合并两个查询并根据在Laravel中创建的_at对它们进行排序,php,mysql,laravel,model,Php,Mysql,Laravel,Model,我已经为两个表创建了模型。现在我想执行一个查询,并根据在处创建的合并结果 我的问题是: $first = RequestF::where('userId','=',$userId)->get(); $second = RequestS::where('userId','=',$userId)->get(); 我可以使用以下方法合并它们: foreach($first as $f) { $second->add($f);

我已经为两个表创建了模型。现在我想执行一个查询,并根据在处创建的
合并结果

我的问题是:

    $first  =  RequestF::where('userId','=',$userId)->get();
    $second =  RequestS::where('userId','=',$userId)->get();
我可以使用以下方法合并它们:

     foreach($first as $f) {
        $second->add($f);
     }
但这只是在
$second
的末尾添加
$first
-对象,我无法根据在
创建的
按顺序获取它们

如何合并这两个查询并同时对其排序?
多谢各位

更新 在@MargusPala建议之后,这是我在
$second->toArray()
之后的结果,但奇怪的是,一个对象不正常!!物体编号10:

{
  "status" : "Success",
  "data" : {
"showcases" : {
  "10" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-22 10:51:25",
    "type" : "F"
  },
  "2" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-23 10:14:32",
    "type" : "L"
  },
  "3" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-23 10:15:00",
    "type" : "L"
  },
  "11" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-27 09:54:56",
    "type" : "F"
  },
  "4" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-23 11:22:09",
    "type" : "L"
  },
  "5" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-26 10:42:38",
    "type" : "L"
  },
  "6" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-27 09:59:03",
    "type" : "L"
  },
  "7" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-27 09:59:23",
    "type" : "L"
  },
  "0" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-22 11:26:25",
    "type" : "L"
  },
  "8" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-27 10:05:19",
    "type" : "L"
  },
  "1" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-23 10:13:53",
    "type" : "L"
  },
  "9" : {
    "userName" : "mojtaba_talebii",
    "created_at" : "2015-04-27 10:05:33",
    "type" : "L"
  }
}
  },
 "message" : "Here is results"
}
这很奇怪,还有一件事,我怎样才能得到JSON数组的结果,而不是JSON对象

Laravel具有sortBy()函数,可用于对集合进行排序。像这样使用它

$second = $second->sortBy(function($s)
{
    return $s->created_at;
});

试试这个:$first=RequestF::where('userId','=',$userId)->orderBy(“created_at”,“ASC”)->get()$第二个=请求::where('userId','=',$userId)->orderby(“created_at”,“ASC”)->get()@我知道这很酷,但是在合并了
$first
$second
之后,第二个查询的对象被添加到第一个查询的末尾,并且没有排序。这正是我想要的,但是在尝试使用
$second->toArray()
返回响应之后,它返回JSON对象,而不是JSON数组。有什么解决方法吗?您可以使用
dd($second->toArray())
查看集合转换成什么以及如何修复它。确保以后执行
return$second->toArray()事实上我发现,我的结果不是有序的,这很奇怪,但我更新了问题。