关于 belongsToMany 的几个问题,非常迷惑
- 文档里说:
比如本章的例子里,如果用$this->belongsToMany(User::Class);
,表名就是user_user。这个user_user也得事先用migration创建吗?还是$this->belongsToMany(User::Class);
自动创建这个表? - 如果不传第3和第4个参数,也就是不自定义列名,那默认的列名是什么格式呢?还用上面的例子,
$this->belongsToMany(User::Class);
里的2列的名字是user_id和user_id吗? - 类似问题1,如果不传第3和第4个参数,也就是不自定义列名,那
$this->belongsToMany(User::Class);
会自动创建这2列吗?还是必须提前在migration文件里把这2列创建好? -
本章传入了第2,3,4个参数,所以命令是
$this->belongsToMany(User::Class, 'followers', 'user_id', 'follower_id');
。我想问必须传入第2,3,4个参数吗?都使用默认的行不行?比如说,
`public function followers()
{
return $this->belongsToMany(User::Class);
}public function followings()
{
return $this->belongsToMany(User::Class);
}`
这样行不行?
我目前的理解是不行。因为产生的2列会使用相同的名字,比如user_id。这样理解对不对?
感谢!
推荐文章: