Kohana ORM сериализует столбцы, JSON и stdClass - PullRequest
2 голосов
/ 07 августа 2011

Мне интересно, как люди имеют дело с классом stdClass, полученным в результате выполнения json_decode для столбцов в _serialize_columns в ORM Коханы.

Проблема, с которой я столкнулся, состоит в том, что я устанавливаю столбец как массив, который сериализуется и все хорошо. Позже, когда я получаю его, он возвращается как stdClass. Это хорошо для большинства вещей, но если я попытаюсь использовать что-то вроде Arr::path() для этого значения, оно, конечно, не сможет справиться (я думаю, проблема с array_shift).

Одна из опций, которую я попробовал, заключалась в приведении полученного значения к массиву, но это работает только для первого уровня массива. Итак, я затем перебрал массив, приведя все к массиву. Это сработало, но похоже на значительный взлом.

Что все остальные делают, чтобы справиться с этим?

1 Ответ

2 голосов
/ 07 августа 2011

В качестве рекомендации @zeelot я подал заявку в систему продажи билетов Kohana: http://dev.kohanaframework.org/issues/4188

Я также изменил метод Kohana_ORM _unserialize_value() следующим образом:

protected function _unserialize_value($value) {
    return json_decode($value, TRUE);
}

обсуждение здесь: http://forum.kohanaframework.org/discussion/9465/orm-serialize-columns-json-and-stdclass

...