首页 > 解决方案 > 在 Laravel 中具有两个参数的 GroupBy 具有嵌套关系

问题描述

我有一个我无法解决的挑战。我的背景:

我有这个模型:

关系:

然后我的目标是当我打电话时$owner->contacts,我想要一个 groupBycontact.product_idcontact.message.user_id,因为一个产品可以有来自不同用户的消息。期望的输出:

    [
    {
        product_id: "2",
        messages: [
        {
            message_id: "23",
            user_id: "13",
            message: "...."    
        },
        {
            message_id: "53",
            user_id: "13",
            message: "...."    
        }
        ]
    },
    {
        product_id: "2",
        messages: [
        {
            message_id: "3",
            user_id: "9",
            message: "...."    
        },
        {
            message_id: "5",
            user_id: "9",
            message: "...."    
        }
        ]
    }
    ]

我的目的是让所有者的个人资料页面在联系人部分显示一个列表,其中包含他从不同用户的产品中拥有的所有联系人,以及在此联系人组中该产品从同一用户收到的所有消息。

标签: laraveleloquent

解决方案


推荐阅读