【问题标题】:How to get data according to group in laravellaravel中如何按组获取数据
【发布时间】:2022-01-26 15:41:45
【问题描述】:

大家好,我正在使用 laravel,下面是我的数组有一些问题

[
    {
        "id": "375c572b-5c54-4c91-bb11-dda23bcf8052",
        "user_id": "a8dd7771-fc0e-46d3-b5a6-5a9ebaa89b9f",
        "group_id": "37b82ef4-c211-49a8-8e1c-a62c0f107219"
    },
    {
        "id": "809ee65e-e5b7-4519-ba7b-9d98ef0a4e3a",
        "user_id": "30517691-89b1-4247-9b74-522350e82622",
        "group_id": "37b82ef4-c211-49a8-8e1c-a62c0f107219"
    },
    {
        "id": "8d764272-3a5c-402f-8488-a641e3567e3e",
        "user_id": "a8dd7771-fc0e-46d3-b5a6-5a9ebaa89b9f",
        "group_id": "a24a9b00-a805-4142-99f4-3384bbb842f0"
    }
]

从上面的数组我想要下面的结果我想要具有相同 group_id 的数据

[
    {
        "id": "375c572b-5c54-4c91-bb11-dda23bcf8052",
        "user_id": "a8dd7771-fc0e-46d3-b5a6-5a9ebaa89b9f",
        "group_id": "37b82ef4-c211-49a8-8e1c-a62c0f107219"
    },
    {
        "id": "809ee65e-e5b7-4519-ba7b-9d98ef0a4e3a",
        "user_id": "30517691-89b1-4247-9b74-522350e82622",
        "group_id": "37b82ef4-c211-49a8-8e1c-a62c0f107219"
    },
]

以下是我尝试过的代码,但没有得到结果

$get_group_ids = DB::table('auc_chat_group_users')
                    ->select("id","user_id","group_id")
                    ->whereIn('user_id', $request->user_id)
                    ->orWhere('user_id',auth()->user()->id)
                    ->distinct('group_id')
                    ->groupBy("id","user_id","group_id")
                    ->orderBy('group_id')
                    ->get();

【问题讨论】:

    标签: php laravel-8


    【解决方案1】:

    pluck() 应该可以解决您的问题

    【讨论】:

    • 当我传递 user_id 时,我会根据我想要过滤的数据获取数据,只假设我 paas 三个不同的 user_id 并且我想检查这三个 user_id 中是否存在任何组如果我传递了两个我想检查两个
    • 您可以使用$groupIds = DB::table('auc_chat_group_users')->whereIn('user_id', $userIds)->pluck('group_id');。然后,只需使用$groupIds->count()
    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多