я выборки данных из БД, как этотВозвращает массив вместо объекта
$endResult = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
if (!isset($endResult[$row['car']])) {
$endResult[$row['car']]= (object) array(
'car' => $row['car'],
'carModel' => $row['carModel'],
'colors' => array()
);
}
$endResult[$row['car']] -> colors [] = (object) array(
'paintedOn' => $row['paintenOnDate'],
'paintedBy' => $row['paintedBy']
);
}
//return with slim.php
$response->body(json_encode($endResult));
и результат я получаю
{"1":
{
"car": "1",
"carModel": "model-1",
"colors": [
{
"paintedOn": "2014-11-07",
"paintedBy": "5"
},{
"paintedOn": "2014-11-08",
"paintedBy": "6"
}]
},
"2":{
"car": "2",
"carModel": "model-2",
"colors": [
{
"paintedOn": "2014-11-09",
"paintedBy": "7"
},{
"paintedOn": "2014-11-10",
"paintedBy": "8"
}]
}
}//<--replace this with []
Даже если $endResult
объявлен как массив я получаю {} скобки, как я могу заменить скобки «Объект» на скобки «Массив»?
UPDATE: Я не могу удалить json_encode
как передний конец (магистральный) ожидающего сбор
UPDATE 2: $endResult = array();
возвращение [...]
но $endResult[$row['car']]= (object) array(...)
преобразовать его в {...}
Вы кодировать его в JSON. Json работает с '{}'. – Daan
, но если мне это нравится '$ stmt-> fetchAll (PDO :: FETCH_OBJ);' он вернет его как '[...]' – InTry
Вы пытаетесь 'json_decode()' ?? – kupendra