我在拉雷维尔有两个一对多的关系,那里的城市(身份证、姓名、地区号)
我需要创建一个资源,可以返回给定国家所有地区的所有城市,比如:
"results": [
{
"region": 1,
"name": "Abruzzo",
"cities": {
{"id": 1,
"name": "Aaa"},
{"id": 2,
"name": "Aab"},
},
},
{
"region": 2,
"name": "Basilicata",
"cities": {
{"id": 1,
"name": "Baa"},
{"id": 2,
"name": "Bab"},
},
}
对于一个级别的关系,我会创建一个区域资源,一个区域资源,并在一个,比如说,结果资源中使用Resolve()方法,比如:
'regions' => (new RegionsResource($country))->resolve(),
但我似乎无法以递归的方式对这两个级别执行此操作。有人能帮我吗?谢谢
解决了感谢我的同事。这是代码:
$cities = collect();
$regions->each(function($region) use(&$cities) {
$cities->push($region->cities);
});