Support the ongoing development of Laravel.io →
Database Eloquent
<code> /* DB Structure Table: roles id || name

Table: permissions id || name || display_name

Join Table: permissions_roles id || permission_id || role_id

Failing query */

$item = DB::table('roles')->join('permissions_roles AS pr', 'pr.role_id', '=', 'roles.id') ->join('permissions AS p', 'pr.permission_id', '=', 'p.id')->select('roles.name', 'p.name')->get();

// unexpected result

array (size=62) 0 => object(stdClass)[397] public 'name' => string 'create_archive' (length=14) 1 => object(stdClass)[398] public 'name' => string 'edit_archive' (length=12)

//parallel query $item = DB::table('roles')->join('permissions_roles AS pr', 'pr.role_id', '=', 'roles.id') ->join('permissions AS p', 'pr.permission_id', '=', 'p.id')->select('roles.name', 'p.display_name')->get();

//result as expected array (size=62) 0 => object(stdClass)[397] public 'name' => string 'admin' (length=5) public 'display_name' => string 'create archive' (length=14) 1 => object(stdClass)[398] public 'name' => string 'admin' (length=5) public 'display_name' => string 'edit archive' (length=12) </code>

Last updated 2 years ago.
0

Sign in to participate in this thread!

Eventy

Your banner here too?

egekhter egekhter Joined 19 Mar 2014

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2025 Laravel.io - All rights reserved.