我有三个模型:<html>
<head>
<script>
function myFunction(id) {
var str1 = "somepictureurl.png";
document.getElementById(id).src = str1;
}
</script>
</head>
<body>
<img id="img1" alt="notworking">
<script>
myFunction("img1");
</script>
</body>
</html>
,Post
和List
(Pivot)。
我在DB中有三个表:PostList
,post (post_id, ...)
,list(list_id, ...)
。
我有这样的代码:
发布 -
post_list(post_id, glist_id(In fact it's id of list))
列表 -
public function list()
{
return $this->belongsToMany(List::class, 'post_list');
}
PostList
public function stories()
{
return $this->belongsToMany(Post::class, 'post_list');
}
使用这样的代码,Laravel尝试在PostList中找到glist_id。
在关系的哪一部分,我必须设置表PostList中的那列不是默认的list_id,而是glist_id?
答案 0 :(得分:2)
第三个参数是您所在模型的外键名称 正在定义关系,而第四个论点是 您要加入的模型的外键名称。
所以在你的情况下,这将是:
public function list()
{
return $this->belongsToMany(List::class, 'post_list', 'post_id', 'glist_id');
}
public function stories()
{
return $this->belongsToMany(Post::class, 'post_list', 'glist_id', 'post_id');
}