首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Laravel关系连接多个表、数据透视表

使用Laravel关系连接多个表、数据透视表
EN

Stack Overflow用户
提问于 2017-07-12 20:04:16
回答 1查看 678关注 0票数 0

下面是我的慈善表格,它的类型,成员,成员名称现在我想要的结果作为特定慈善机构的所有成员,其名称和类型的慈善机构阵列。

代码语言:javascript
复制
Charity
---------------------
id      name        |
---------------------
1       Xcharity    |
2       ycharity    |
---------------------

Charity_type
---------------------
id      name        |
---------------------
1       Masjid      |
2       Mandir      |
3       Madresha    |
---------------------

Designations
---------------------
id      name        |
---------------------
1       Trusty      |
2       President   |
3       Member      |
---------------------

Members
-----------------------------
id      name    charity_id  |
-----------------------------
1       nilesh      1       |
2       Khyati      2       |
-----------------------------   

Charitytype_designation_member
----------------------------------------------------- 
charitytype_id      designation_id      member_id   |
-----------------------------------------------------
    1                   1                   1       |
    2                   2                   1       |
    2                   3                   2       |
-----------------------------------------------------

我希望阵列如下慈善细节,其成员与成员是来自哪个慈善类型和他的指定为特定的慈善类型。

代码语言:javascript
复制
Array
(
    [id] => 1
    [name] => Xcharity
    [members] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => nilesh                    
                    [charity_id] => 2
                    [charity_type] => Masjid
                    [designation] => Trusty                    
                )
        )
)
EN

回答 1

Stack Overflow用户

发布于 2017-07-12 21:40:33

你可以试试这样的东西

代码语言:javascript
复制
$contracts = Charity::with(['members' => function($member_model) {
                    $member_model->select('Members.id', 'Members.name', 'Members.charity_id', 'Charity_type.name as charity_type', 'Designations.name as designation')
                            ->join('Charitytype_designation_member', 'Charitytype_designation_member.member_id', '=', 'Members.id')
                            ->join('Designations', 'Charitytype_designation_member.designation_id', '=', 'Designations.id')
                            ->join('Charity_type', 'Charitytype_designation_member.charitytype_id ', '=', 'Charity_type.id');
                }])->get();

我假设在你的慈善模型中有members关系。

我希望这对你有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45057222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档