Как добавить отношение к классу пользователя по умолчанию в laravel? - PullRequest
0 голосов
/ 28 января 2020

Я новичок в Laravel.

У меня много-много отношений с пользователем и mov ie, и поэтому я создал сводную таблицу 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',
    ];
}

Я хочу добавить следующее отношение для mov ie в пользователе класс

public function movies()
{
    return $this->belongsToMany(Movie::class);
}

Но для этого я думаю, что мне нужно расширить класс Model, а не класс Authenticatable;

поэтому проблема в том, как я могу вставить отношение внутри «класса User extends Authenticatable», есть ли какой-нибудь метод, например внедрение зависимостей, для достижения этого решения? И если да, то какой из них лучший способ сделать это?

...