How to access a method inside Blade?
I want to access my roles() method because I need to fetch only users with roles, how do I do that?
User.php
public function roles()
{
return $this->belongsToMany(Role::class);
}
@foreach ($users as $roleUser)
<p>{{ $roleUser->roles()->name }}</p>
@endforeach
AppServiceProvider.php
public function boot()
{
View::composer(['admin.users.index'], function ($view) {
$view->with('users', User::with('roles')->get());
});
}
Undefined property: Illuminate\Database\Eloquent\Relations\BelongsToMany::$name
roles is a collection, so
@foreach ($users as $user)
@foreach ($user->roles as $role)
<p>{{ $role->name }}</p>
@endforeach
@endforeach
or
@foreach ($users as $user)
<p>{{ $user->roles->pluck('name')->join(', ') }}</p>
@endforeach
Please or to participate in this conversation.