Dear people.
Recently I started to work more with Laravel models and eloquent relations instead of writing Raw queries.
Now I faced a problem:
I got relation in User model:
public function roles()
{
return $this->belongsToMany('App\Role', 'users_has_roles', 'Users_id', 'Roles_role_id');
}
And another relation in Role model:
public function users()
{
return $this->belongsToMany('App\User', 'users_has_roles', 'Roles_role_id', 'Users_id');
}
I am able to retrieve all users and echo them by using code in controller:
$users = User::with('roles')->get();
foreach ($users as $user) {
echo $user."<br>";
}
{"id":18,"name":"Ajx6bK","surname":"AwkMTWzgIB","username":"vt_2528","created_at":"2017-01-12","updated_at":null,"roles":[{"role_id":3,"role_name":"Reporter","role_description":"Is able to manage reports in system.","pivot":{"Users_id":18,"Roles_role_id":3}}]} {"id":19,"name":"NJYMCU","surname":"ZGzjvpDAiP","username":"vt_6443","created_at":"2017-01-12","updated_at":null,"roles":[{"role_id":1,"role_name":"Admin","role_description":"Has most of user rights in the system, including users managment.","pivot":{"Users_id":19,"Roles_role_id":1}}]} {"id":20,"name":"hVUrMG","surname":"fc72G7Ksw2","username":"vt_6610","created_at":"2017-01-12","updated_at":null,"roles":[{"role_id":2,"role_name":"Data-entry","role_description":"Is able to manage records in system.","pivot":{"Users_id":20,"Roles_role_id":2}}]}
Problem: I can't access any of fields variables of table "roles". $user->roles->role_name or role_description.