我有四个模型称其为A B C D,我要做的就是将其显示在一个表中并进行排序
+----+-------+---------------------+-------+
| 1. | B-5 | 2018-12-11 10:52:22 | 20 |
+----+-------+---------------------+-------+
| 2. | A-4 | 2018-12-11 09:52:22 | 10 |
+----+-------+---------------------+-------+
| 3. | C-3 | 2018-12-11 08:52:22 | 20 |
+----+-------+---------------------+-------+
对于SQL查询,它看起来像这样
SELECT `code`, `updated_at`, `qty` FROM `a`
UNION ALL
SELECT `code`, `updated_at`, `qty` FROM `b`
UNION ALL
SELECT `code`, `updated_at`, `qty` FROM `c`
UNION ALL
SELECT `code`, `updated_at`, `qty` FROM `d`
ORDER BY `updated_at`
有可能这样做吗?以及如果可能的话怎么做?
答案 0 :(得分:0)
为此使用联接,这是一个示例:
$codes= DB::table('a')
->join('b', 'a.id', '=', 'b.user_id')
->join('c', 'a.id', '=', 'c.user_id')
->join('d', 'a.id', '=', 'd.user_id')
->select('a.*', 'b.*', 'c.*')
->orderBy('a.updated_at','desc')
->get();