出于某种奇怪的原因,使用Eloquent构建此模型隐藏了我在关系中明确要求的Pivot(此模型称为匹配):
public function scorers()
{
return $this->belongsToMany(
Player::class,
'match_players',
'match_id'
)->withPivot(
'goals'
)->where(
'goals', '>', 0
);
}
public function scopeComplete($query)
{
return $query->with(
'homeTeam',
'awayTeam',
'scorers'
);
}
问题是得分者的json结果如下
"scorers": [
{
"id": 196,
"name": "Tino",
"surname": "Heck",
"age": 24
},...
隐藏了枢轴(目标)team_id和目标应该出现在一个名为pivot的嵌套对象中的每个对象上,是否有人遇到过这样的问题?我在这里找到了什么。像
这样的东西"scorers": [
{
"id": 196,
"name": "Tino",
"surname": "Heck",
"age": 24,
"pivot": {
"goals": 3
}
},...
Db结构
Match
- id
- ..
Players
- id
- ...
MatchPlayer
- player_id
- match_id
- goals
得分者内部的结果是正确的,所以我得到了目标>的实际玩家。 0,但不是我正在寻找的支点
提前致谢。
答案 0 :(得分:0)
傻傻的我,我发现了错误,问题是我在玩家模型上隐藏了枢轴:( 所以这里的教训是$ hidden数组属性,它是关系模型上的一个,而不是父类的一个(在这种情况下匹配)