Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 5.x » Как получить данные из двух таблиц с использованием Eloquent? » 12.05.2019 19:54:59

vladpr
Ответов: 1

Laravel 5.8.15
PHP 7.2

Имеются три таблицы:

users

id
name
email
password

users_has_roles

id
user_id
role_id

roles

id
role

Имеются модели:
Users

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable;
use Auth;

class Users extends Model implements Authenticatable
{
    use \Illuminate\Auth\Authenticatable;

    public function role()
    {
      return $this->belongsToMany('App\Roles', 'users_has_roles', 'id', 'role_id');
    }
}

Roles

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Roles extends Model
{
    public function user()
    {
      return $this->belongsToMany('App\Users', 'users_has_roles', 'role_id', 'id');
    }
}

Что-то схожее представлено в оригинальной документации к Laravel.

Я прошу не тыкать меня носом в документацию.
Просто объясните, пожалуйста, как я могу обратившись к

$user = User()::find(1);

получить все роли пользователя с нужным мне id?
Я понимаю, что это выглядит так, будто бы я не читал документацию и т.п. Но у меня просто не получается получить то, что я хочу. Хотелось бы увидеть ответ знающих людей.

Подвал раздела