如何向laravel中的默认用户类添加关系?

如何向laravel中的默认用户类添加关系?,laravel,eloquent,laravel-6.2,Laravel,Eloquent,Laravel 6.2,我是拉威尔的新手 我与用户和电影有多对多关系,因此创建了一个电影用户透视表: 我使用的是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\Notificat

我是拉威尔的新手

我与用户和电影有多对多关系,因此创建了一个电影用户透视表:

我使用的是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',
    ];
}
但要做到这一点,我认为我需要扩展模型类而不是可验证类

因此,问题是如何在“class User extends Authenticatable”中插入关系
是否有依赖项注入之类的方法来实现此解决方案?如果有,哪种方法是最好的?

Authenticatable extends model,那么由于此方法不起作用,您遇到了什么问题?您只需将函数添加到模型中就可以了,没有任何问题。这是您自己的源代码,所以您没有修改任何框架代码。@mrhn我真的不知道这是否可以实现。我看到定义关系需要扩展模型类,所以,如果我在用户可验证类中定义我的关系,可以吗?@Jerodev非常感谢。现在我很清楚我的困惑,但要做到这一点,我认为我需要扩展模型类而不是可验证类。你没有
Authenticatable
已经扩展了
模型
,因此您可以将您的关系方法放在
用户
模型中。
public function movies()
{
    return $this->belongsToMany(Movie::class);
}