https://imgur.com/a/ob9rjIz 有两个表,一个称为用户,另一个称为user_relation_user 我的关系是许多user_relation_user和我的迁移中的用户。我想用php artisan tinker创建10个用户,所以我运行factory(App \ User :: class,10)-> create();最后,我访问我的数据库,所以从用户中选择*有10个用户,但是在user_relation_user中不是10个id或为空
D
我的迁移
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Administrator extends Model
{
protected $table = 'user_relation_user';
protected $primaryKey = 'id';
protected $fillable = ['user_id'];
public function users(){
return $this->belongsTo(User::class,'user_id');
}
}
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
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',
];
public function administrator(){
return $this->hasMany(Administrator::class,'user_id');
}
}
//hasMany
答案 0 :(得分:0)
您定义的关系正确,您只需在用户模型中也定义一个关系。
示例:
假设您正在开发一个博客系统,用户可以在其中发布博客。 那么将有两种模型:用户模型和博客模型
在用户模型中,您必须定义用户关系,如下所示:
public function blogs()
{
return $this->hasmany(Blog::class);
}
然后在博客模型中
public function users()
{
return $this->belongsTo(User::class);
}