如何向laravel中的默认用户类添加关系?
我是拉威尔的新手 我与用户和电影有多对多关系,因此创建了一个电影用户透视表: 我使用的是Laravel 6.5.2默认身份验证;在App/User.php中 默认的User.php类如下所示:如何向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
<?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);
}