Laravel - 从created_at(不相关)排序的几个表中获取数据

时间:2017-11-13 07:49:53

标签: laravel

我想从几张表(不相关)中获取数据,并按created_at列命令。

例如我有表:

帖子: ID 标题 文本 created_at

产品: ID 名称 描述 created_at

用户: ID 名称 电子邮件 created_at

如您所见,在每个表上都有 created_at ,我希望在一个查询中通过created_at对这些表中的数据进行排序。它将类似于Facebook上的墙。

1 个答案:

答案 0 :(得分:0)

有些人评论说,你不能在一个查询中这样做。

改为使用Collection

$posts = App\Post::all();
$products = App\Product::all();
$users = App\User::all();

$collection = new \Illuminate\Support\Collection();
$collection = $collection->merge($posts)
                         ->merge($products)
                         ->merge($users)
                         ->sortBy('created_at');

然后使用$collection对象显示数据。