如何根据表C从表A和表B显示整个数据?
表 A
id | 名称 |
---|---|
1 | A1 |
2 | A2 |
3 | A3 |
4 | A4 |
5 | A5 |
表 B
id | id_table_A | id_table_C | 名称 |
---|---|---|---|
1 | 1 | 1 | Test-1 |
2 | 2 | 1 | Test-2 |
3 | 1 | 2 | Test -3 |
4 | 3 | 2 | 测试-4 |
5 | 3 | 1 | 测试-5 |
6 | 5 | 2 | 测试-6 |
7 | 2 | 2 | 测试-7 |
表 C
id | 名称 |
---|---|
1 | C1 |
2 | C2 |
3 | C3 |
我的问题 我想根据 Laravel 中表 C 中的 id 选择表 A 和表 B 中的所有数据(查询生成器或 Eloquent 并不重要)。因此,它会显示如下:
C1 将显示:
id_table_A | Name |
---|---|
A1 | Test-1 |
A2 | Test-2 |
A3 | Test-5 |
A4 | NULL |
A5 | NULL |
或者当我选择 C2 时,它会显示如下:
id_table_A | Name |
---|---|
A1 | Test-3 |
A2 | Test- 7 |
A3 | Test-4 |
A4 | NULL |
A5 | Test-6 |
C3 将显示如下:
id_table_A | Name |
---|---|
A1 | NULL |
A2 | NULL |
A3 | NULL |
A4 | NULL |
A5 | NULL |
注意:抱歉,我不知道如何简化我的问题
Table A
id | Name |
---|---|
1 | A1 |
2 | A2 |
3 | A3 |
4 | A4 |
5 | A5 |
Table B
id | id_table_A | id_table_C | Name |
---|---|---|---|
1 | 1 | 1 | Test-1 |
2 | 2 | 1 | Test-2 |
3 | 1 | 2 | Test-3 |
4 | 3 | 2 | Test-4 |
5 | 3 | 1 | Test-5 |
6 | 5 | 2 | Test-6 |
7 | 2 | 2 | Test-7 |
Table C
id | Name |
---|---|
1 | C1 |
2 | C2 |
3 | C3 |
My Question
I want to select all datas from table A and also table B, according to id in table C in Laravel (Query Builder or Eloquent doesn't matter). So, it would showing like these:
C1 would showing:
id_table_A | Name |
---|---|
A1 | Test-1 |
A2 | Test-2 |
A3 | Test-5 |
A4 | NULL |
A5 | NULL |
Or when I choose C2, it would showing like:
id_table_A | Name |
---|---|
A1 | Test-3 |
A2 | Test-7 |
A3 | Test-4 |
A4 | NULL |
A5 | Test-6 |
And C3 will showing like:
id_table_A | Name |
---|---|
A1 | NULL |
A2 | NULL |
A3 | NULL |
A4 | NULL |
A5 | NULL |
NB: Sorry I don't know how to simplify my question
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用许多与许多关系
a :: class
然后使用此关系来获得您需要的东西
You can use a many to many relation
A::class
Then use this relation to get what you need