В настоящее время я следую учебному пособию по YouTube "Сводные таблицы и отношения многие ко многим в Laravel - Laravel Business". Я наконец понял отношения, но у меня возникли проблемы с практической реализацией. У меня есть две таблицы user
и role
, а также сводная таблица для соединения двух, называемая role_user
.
Я использую домашний контроллер для тестирования согласно учебному пособию по YouTube, однако при попытке присоединить role_id
до user_id
с использованием dd
информация не отображается. Я делаю что-то не так в своей сети. php?
Я новичок в laravel, поэтому я был бы признателен за любую помощь. Спасибо.
HomeController
<?php
namespace App\Http\Controllers;
use App\Role;
use App\User;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index()
{
$user = User::find(1);
$user->roles()->attach(1);
dd($user->roles);
}
}
Пользователь. php
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function roles() {
return $this->belongsToMany(Role::class);
}
}
Интернет. php
<?php
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Я пытаюсь сделать, как показано ниже, к сожалению, в видео нет ничего о его маршрутах. Я создал для этого новый проект laravel.