其他甲酸盐中的数组

时间:2018-06-14 19:42:42

标签: php arrays json api laravel-5

我正致力于restfull api用于移动应用开发。我在json中返回一个php数组,就像是,

"data": {
    "Waxing": [
        {
            "id": "119",
            "provider_id": "54",
            "provider_service_id": "0",
            "category_id": "15",
            "date": "09-06-2018",
            "time": "08.00 AM,10.00 AM,11.00 AM,12.00 PM,01.00 PM,02.00 PM,03.00 PM,04.00 PM,05.00 PM,06.00 PM,07.00 PM",
            "repeat": "D",
            "deleted_at": null,
            "created_at": "2018-06-09 05:22:47",
            "updated_at": "2018-06-09 14:22:04",
            "setdate": "09 Jun",
            "name": "Waxing"
        }
    ],
    "Massage": [
        {
            "id": "145",
            "provider_id": "54",
            "provider_service_id": "0",
            "category_id": "4",
            "date": "14-06-2018",
            "time": "08.00 AM,09.00 AM,10.00 AM,11.00 AM,12.00 PM,01.00 PM,02.00 PM,03.00 PM,04.00 PM,05.00 PM,06.00 PM,07.00 PM",
            "repeat": "O",
            "deleted_at": null,
            "created_at": "2018-06-13 14:24:15",
            "updated_at": "2018-06-13 14:24:15",
            "setdate": "14 Jun",
            "name": "Massage"
        }
    ]
},

并使用以下代码行创建此输出:

        foreach ($getproviderdatetime as $getproviderdatetimes){
            $categorycheck = Category::where('id', '=', $getproviderdatetimes->category_id)->first();
            if(count($categorycheck)>0){
               $alldata[$categorycheck->name][]=$getproviderdatetimes;
            }                
        }

但现在我需要这种格式的数据:

"data": {
  [
    "categoryname": "Waxing",
    "services": [
        {
            "id": "119",
            "provider_id": "54",
            "provider_service_id": "0",
            "category_id": "15",
            "date": "09-06-2018",
            "time": "08.00 AM,10.00 AM,11.00 AM,12.00 PM,01.00 PM,02.00 PM,03.00 PM,04.00 PM,05.00 PM,06.00 PM,07.00 PM",
            "repeat": "D",
            "deleted_at": null,
            "created_at": "2018-06-09 05:22:47",
            "updated_at": "2018-06-09 14:22:04",
            "setdate": "09 Jun",
            "name": "Waxing"
        }
    ]
  ],
  [
    "categoryname": "massage",
    "services": [
        {
            "id": "145",
            "provider_id": "54",
            "provider_service_id": "0",
            "category_id": "4",
            "date": "14-06-2018",
            "time": "08.00 AM,09.00 AM,10.00 AM,11.00 AM,12.00 PM,01.00 PM,02.00 PM,03.00 PM,04.00 PM,05.00 PM,06.00 PM,07.00 PM",
            "repeat": "O",
            "deleted_at": null,
            "created_at": "2018-06-13 14:24:15",
            "updated_at": "2018-06-13 14:24:15",
            "setdate": "14 Jun",
            "name": "Massage"
        }
    ]
  ]
},

我有一系列服务并从数据库中获取类别名称。我正在使用Laravel框架并以json格式返回数据。我怎么能得到这个。需要帮助。

2 个答案:

答案 0 :(得分:1)

以下是解决方案:

foreach ($getproviderdatetime as $getproviderdatetimes){
    $categorycheck = Category::where('id', '=', $getproviderdatetimes->category_id)->first();
    if(count($categorycheck)>0){
       // append new item to all data:
       $alldata[] = [
           "categoryname" => $categorycheck->name,
           "services" => [$getproviderdatetimes],
       ];
    }                
}

答案 1 :(得分:1)

@import {RouterModule} '@angular/router';
...
imports: [
    RouterModule.forRoot(AppRoutes)
]

再次循环ur $ alldata..Bellow是你的解决方案

https://3v4l.org/9iT9l