Laravel, как объединить коллекции и массивы в JSON и разделить их - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть коллекция 2 типов и массив, который я хотел бы объединить корректно.Вместо 1,2,3,4,5,6,7,8,9 я хотел бы иметь weekSummary (0-6) и latestUsers (7-9).Я использую array_merge для объединения коллекции и массива.

$panelData = array_merge($weekSummary, $latestUsers->toArray(), ['total_users' => User::count()]);

Можно ли разделить их в JSON, как они есть в переменных?

{
"0": {
"day": "2019-02-05",
"users_count": 2
},
"1": {
"day": "2019-02-06",
"users_count": 4
},
"2": {
"day": "2019-02-07",
"users_count": 7
},
"3": {
"day": "2019-02-08",
"users_count": 2
},
"4": {
"day": "2019-02-09",
"users_count": 5
},
"5": {
"day": "2019-02-10",
"users_count": 0
},
"6": {
"day": "2019-02-11",
"users_count": 1
},
"7": {
 user 1 data ...
},
"8": {
 user 2 data ...
},
"9": {
 users 3 data ...
},
"total_users": 567
}

Я хотел бы иметь JSON:

   {
    "weekSummary": [
    {
     "day": "2019-02-05",
     "users_count": 2
    },
    ...],
    "latestUsers": [
    {
     user 1 data ...
    },
    ...],
    "total_users": 567
   }

1 Ответ

0 голосов
/ 12 февраля 2019

Это должно быть просто (без их объединения):

$panelData = [
  'weekSummary' => $weekSummary,
  'latestUsers' => $latestUsers->toArray(),
  'total_users' => User::count()
];

//result

json_encode($panelData);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...