1
有几个非常类似的问题,但不是确切的事情。让我们先从我的模型:在Laravel中重新排列JSON输出
- 比赛(的hasMany
Event
,belongsToManyPlayer
) - 球员(的hasMany
Event
,belongsToManyContest
,belongsToManyEvent
) - 事件(属于关联
Contest
,belongsToManyPlayers->withPivot('score)
)(实际上称为ContestEvent
自Event
是Laravel类)
我正在编写一个API来与数据做其他事情。现在我从给定大赛得到如下的输出:
{
"id": "1",
"owner_id": "1",
"name": "Some Contest",
"start_date": "2013-08-09",
"end_date": "2013-08-31",
"is_public": "1",
"is_finished": "0",
"players": [
{
"id": "1",
"first_name": "Bob",
"last_name": "Smith",
"initial_name": "Bob S",
"pivot": {
"contest_id": "1",
"user_id": "1"
}
}
],
"events": [
{
"id": "1",
"name": "Stage 1",
"date": "2013-08-01",
"players": [
{
"id": "1",
"first_name": "Bob",
"last_name": "Smith",
"initial_name": "Bob S",
"pivot": {
"contest_event_id": "1",
"user_id": "1",
"score": "5"
}
}
]
}
]
}
的pivot
部分是垃圾数据,除了events
下score
部分。我可以用$ hidden隐藏整个pivot
部分,但我想要访问阵列之外的score
值。
我搞砸了$append
和getFooAttribute()
,但目前为止没有成功 - 我无法弄清楚如何让雄辩做我想做的事。有什么建议么?
检索Eloquent集合后,您将不得不做一些后处理。按照循环和设置'$ player-> score = $ player-> pivot-> score'来思考。 –