我正在尝试从我的 Lists 表中获取数据,并在该列表中包含一个带有曲目 ID 的数组。
这是数据库模型的示例,关系为 N:M。
数据库模型
在我的 List 模型中,我添加了这个方法:
public function tracks()
{
return $this->belongsToMany(Track::class, 'List_Tracks', 'id_list', 'id_track');
}
因此,在我的 ListController 中,我正在执行以下操作:
$list = List::find($id);
$list->tracks_list = $list->tracks->pluck('track_id');
return $list;
我得到的对象与我在同一个列表中的曲目一样多,例如:
[
{
"id_track": 1,
"name": "Yesterday",
"tracks_list": [
1,
2
]
"pivot": {
"id_list": 1,
"id_track": 1
}
},
{
"id_track": 2,
"name": "Lucy in the sky with diamonds",
"pivot": {
"id_list": 1,
"id_track": 2
}
}
]
但我想得到的是:
{
"id_list": 1,
"name": "The Best of The Beatles",
"tracks_list": [
1,
2
]
}
我认为我尝试过的事情比正确的解决方案复杂得多。
您将如何以这种方式获取数据?