Actual Result:
[
{ id: 1, title: 'Test Tournament #$1', d_title: 'Rendering Vue Slots content to an iframe'},
{ id: 1, title: 'Test Tournament #$1', d_title: 'Example' },
{ id: 1, title: 'Test Tournament #$1', d_title: 'Example' },
{ id: 1, title: 'Test Tournament #$1', d_title: 'asdfasdf' },
{ id: 2, title: 'Test Tournament #$2', d_title: 'Rendering Vue Slots content to an iframe'},
{ id: 2, title: 'Test Tournament #$2', d_title: 'Example' },
{ id: 2, title: 'Test Tournament #$2', d_title: 'Example' },
{ id: 2, title: 'Test Tournament #$2', d_title: 'asdfasdf' }
]
Expected Result:
[
{ id: 1, title: 'Test Tournament #$1', detail:
[
{ d_title: 'Rendering Vue Slots content to an iframe'},
{ d_title: 'Example'},
{ d_title: 'Example'},
{ d_title: 'asdfasdf'},
]
},
{ id: 2, title: 'Test Tournament #$2', detail:
[
{ d_title: 'Rendering Vue Slots content to an iframe'},
{ d_title: 'Example'},
{ d_title: 'Example'},
{ d_title: 'asdfasdf'},
]
}
]
如何使用SQL查询获取“预期结果”?
在Laravel中,我们可以通过使用与表的关系来获取它,但是如何通过纯SQL查询获取它呢?
答案 0 :(得分:1)
您无法直接获得此结果,需要手动进行
1-首先获取平铺和ID,然后循环播放。并运行第二个查询,该查询带来d_title。通过这种方式,您可以获得所需的输出格式。
2-另一种方法是按顺序获取所有必需的数据,然后将其循环并制成所需的输出格式。
laravel也采用第一种方法来做到这一点。现在由您决定要做什么。答案 1 :(得分:0)
如果您的数组是这样
$ActualResult =
[
{ id: 1, title: 'Test Tournament #$1', d_title: 'Rendering Vue Slots content to an iframe'},
{ id: 1, title: 'Test Tournament #$1', d_title: 'Example' },
{ id: 1, title: 'Test Tournament #$1', d_title: 'Example' },
{ id: 1, title: 'Test Tournament #$1', d_title: 'asdfasdf' },
{ id: 2, title: 'Test Tournament #$2', d_title: 'Rendering Vue Slots content to an iframe'},
{ id: 2, title: 'Test Tournament #$2', d_title: 'Example' },
{ id: 2, title: 'Test Tournament #$2', d_title: 'Example' },
{ id: 2, title: 'Test Tournament #$2', d_title: 'asdfasdf' }
];
使用此foreach
$response = [];
foreach($ActualResult as $result)
{
$response[$result['id']][$result['title']] = $result['d_title'];
}
dd($response);