我很好奇为什么hasMany
人的口才和belongsToMany
人的口才不同.特别是自定义联接表名——对于一个给定的Comment
属于多个Role
的系统,给定的Role
将有多个Comment
,我想将关系存储在一个名为my_custom_join_table
的表中,并将键设置为comment_key
和role_key
.
return $this->belongsToMany('App\Role', 'my_custom_join_table', 'comment_key', 'role_key'); // works
但反过来说,我无法定义自定义表(至少文档没有提到它):
return $this->hasMany('App\Comment', 'comment_key', 'role_key');
如果我有一个Role
对象,它是hasMany
Comments
,但我使用一个非标准表名来存储该关系,为什么我可以使用这个非标准表的一种方式而不是另一种方式?