2012-05-15 4 views
0

Я только что нашел DataMapper для CI, встроенных в методы to_json и all_to_json, что избавило меня от кучу времени.Метод DataMapper all_to_json(), возвращающий косые черты

Как я могу вернуть отношения с результатом?

В настоящее время мой код выглядит следующим образом:

$homes = new Home(); 

$homes->include_related('address')->get(); 
$homes->include_related('album')->get(); 

$homes->get(); 

$homes->set_json_content_type(); 
echo $homes->to_json(); 

Однако я только получать обратно сам дом, а не вложенную информацию.

EDIT:

Я обнаружил, что вы можете просто добавить эти поля в массиве параметров, однако, если я использую all_to_json($fields); он возвращает первую строку отлично, но второй вложенной возвращается как NULL. Все еще думаю, что это моя вина, но я не знал, видел ли кто-нибудь это раньше.

Вот мой текущий выход.

{ 
    "id": 1, 
    "latitude": "0", 
    "longitude": "0", 
    "price": "173000", 
    "sqft": "2100", 
    "room_count": "3", 
    "bath_count": "2", 
    "created": "1333209034", 
    "updated": "1333209034", 
    "status": "active", 
    "address": [ 
     1 
    ], 
    "album": [] 
} 

По моим данным, если я просматриваю исходный вывод, я вижу полный адрес. В моем JSON я вижу номер 1. Как я могу отображать эти данные, а не число?

ответ

0

1,8.2. релиз версии не рекурсирует, чтобы избежать генерации гигантского выхода JSON (в зависимости от загруженного объекта это может закончиться очень быстро).

Есть некоторые обновления, доступные для расширения JSON на битбакете как часть предстоящего выпуска 1.8.3.

О новых возможностях является то, что вы можете передать ему список связанных объектов, в которые он должен переписываться, в глубоких отношениях (например, «ребенок», «ребенок/внук», «ребенок/другой», «ребенок»/другие/связанные ", ...).