微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 合并两个查询并在Laravel中基于created_at对它们进行排序

我为两张桌子创建了模型.现在我想执行查询并根据created_at合并结果.

我的疑问是:

    $first  =  RequestF::where('userId','=',$userId)->get();
    $second =  RequestS::where('userId','=',$userId)->get();

我可以使用以下方法合并:

     foreach($first as $f) {
        $second->add($f);
     }

但这只是在$second结束时添加$first-objects,而我无法通过基于created_at的顺序获取它们.

如何合并这两个查询并同时订购?
谢谢.

更新
在@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;
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐