私はLaravelが初めてです。
ユーザーと映画には多対多の関係があるため、movie_user ピボット テーブルを作成しました。
Laravel 6.5.2 のデフォルト認証を使用しています。App/User.php で。
デフォルトの User.php クラスは次のとおりです。
<?php
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;
use Modules\Movie\Entities\Movie;
class User extends Authenticatable
{
use Notifiable, HasApiTokens;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password','profile_pic_url',
];
/**
* 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',
];
}
ユーザークラスにmovieの以下の関係を追加したい
public function movies()
{
return $this->belongsToMany(Movie::class);
}
しかし、これを行うには、Authenticatable クラスではなく Model クラスを拡張する必要があると思います。
問題は、「class User extends Authenticatable」内に関係を挿入するにはどうすればよいかということです。この解決策を達成するための依存性注入のような方法はありますか? はいの場合、これを行う最良の方法はどれですか?