当前,我正在加载这样的关系:
$matches = App\Match::all();
foreach($matches as $match){
$match->thuisPouleTeam;
}
原因是我需要加载那些关系,因为它是针对api端点的。
它工作正常,但是所有其他关系属性都是通过->with()
方法进行加载以进行急切加载的,但是如果我尝试通过急切加载来加载此关系,则会变成错误:
strtolower() expects parameter 1 to be string, array given
我猜这可能是因为我使用compoships package来允许组合键,所以该关联方法如下所示:
public function thuisPouleTeam(){
return $this->hasOne('App\PouleTeam', ["teamGuid", "pouleGuid"], ["thuisGuid", "pouleGuid"]);
}
但是我得到了另一个几乎相同的关系:
public function complementaireMatch()
{
return $this->hasOne('App\Match', ["thuisGuid", "uitGuid", "pouleGuid"], ["uitGuid", "thuisGuid", "pouleGuid"]);
}
这个程序可以很好地加载,所以我不知道真正发生了什么,因为一个程序有效,而另一个程序却无效。
任何人都知道出了什么问题?预先感谢!
答案 0 :(得分:1)
您必须在两个模型(<div class="menu-lg">
<label style="display: inline;color: #545454;font-weight:100;" dataid="' +this.ID +'">
<input type= "checkbox" style= "display:none;" id="10A-1">Check1
<span for="10A-1" class="checkmark"></span >
</label >
</div>
<div class="menu-sm">
<label style="display: inline;color: #545454;font-weight:100;" dataid="' +this.ID +'" >
<input type= "checkbox" style= "display:none;" id="10A-2">Check2
<span for="10A-2" class="checkmark"></span >
</label >
</div>
和Compoships
)中都使用Match
特征/模型:README