get count in joining multiple table

Posted 8 months ago by tushar09

I have 3 tables named user, group and user_has_group. I am joining these tables using eloquent. Everything is working just fine, but I need something more. I need to figure it out that which group has how many users. Here the I code I have used:

$result = UserHasGroup
                ::join('group', 'user_has_group.group_id', '=', 'group.id')
                ->join('user', 'group.created_by', '=', 'user.id')
                ->where('user_has_group.user_id', '=', $user -> id)
                ->select("user.name as created_by",
                    'group.created_at',
                    'user_has_group.user_id',
                    'group.name as group_name')
                ->getQuery()
                ->get();

and here's the response:

{
    "successful": [
        {
            "created_by": "TUSHAR13",
            "created_at": "2018-05-11 18:04:38",
            "user_id": "5",
            "group_name": "DSGJA"
        },
        {
            "created_by": "TUSHAR13",
            "created_at": "2018-05-11 18:10:17",
            "user_id": "5",
            "group_name": "V76OL"
        },
        {
            "created_by": "TUSHAR13",
            "created_at": "2018-05-10 00:00:00",
            "user_id": "5",
            "group_name": "qwerr"
        }
    ]
}

Now I can't understand where to add groupby and count query. I need help.

Please sign in or create an account to participate in this conversation.

Laracasts Mascot

Hi, Have We Met Yet?

Did you know that, in addition to the forum, Laracasts includes well over 1000 lessons on modern web development? All for the price of one lunch out per month.

Sign Me Up

Channels

Reply to

Use Markdown with GitHub-flavored code blocks.