如何根据表C从表A和表B显示整个数据?

发布于 2025-01-20 14:36:55 字数 2313 浏览 0 评论 0原文

表 A

id名称
1A1
2A2
3A3
4A4
5A5

表 B

idid_table_Aid_table_C名称
111Test-1
221Test-2
312Test -3
432测试-4
531测试-5
652测试-6
722测试-7

表 C

id名称
1C1
2C2
3C3

我的问题 我想根据 Laravel 中表 C 中的 id 选择表 A 和表 B 中的所有数据(查询生成器或 Eloquent 并不重要)。因此,它会显示如下:

C1 将显示:

id_table_AName
A1Test-1
A2Test-2
A3Test-5
A4NULL
A5NULL

或者当我选择 C2 时,它会显示如下:

id_table_AName
A1Test-3
A2Test- 7
A3Test-4
A4NULL
A5Test-6

C3 将显示如下:

id_table_AName
A1NULL
A2NULL
A3NULL
A4NULL
A5NULL

注意:抱歉,我不知道如何简化我的问题

Table A

idName
1A1
2A2
3A3
4A4
5A5

Table B

idid_table_Aid_table_CName
111Test-1
221Test-2
312Test-3
432Test-4
531Test-5
652Test-6
722Test-7

Table C

idName
1C1
2C2
3C3

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_AName
A1Test-1
A2Test-2
A3Test-5
A4NULL
A5NULL

Or when I choose C2, it would showing like:

id_table_AName
A1Test-3
A2Test-7
A3Test-4
A4NULL
A5Test-6

And C3 will showing like:

id_table_AName
A1NULL
A2NULL
A3NULL
A4NULL
A5NULL

NB: Sorry I don't know how to simplify my question

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

闻呓 2025-01-27 14:36:55

您可以使用许多与许多关系

a :: class

class A extends Model
{
    public function Cs()
    {
        return $this->belongsToMany(C:class, 'b', 'id_table_a', 'id_table_c')->withPivot('id','name');
    }
}

然后使用此关系来获得您需要的东西

$as = A::with('Cs')->get();

You can use a many to many relation

A::class

class A extends Model
{
    public function Cs()
    {
        return $this->belongsToMany(C:class, 'b', 'id_table_a', 'id_table_c')->withPivot('id','name');
    }
}

Then use this relation to get what you need

$as = A::with('Cs')->get();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文