Делаю доработки на сайте, написанном на Kohana, в котором используется ORM. Встала задача вывести текущий элемент массива (как я думал), естественно current() не сработал, тогда я распечатал объект и...
$allPhotos=ORM::factory('Images')->where('id_restoran', '=', $restoran->id)->order_by('id')->find_all();
var_dump($allPhotos);
foreach ($allPhotos as $value){
var_dump($value);
}
...увидел ужас (для себя). Мало того, что $allPhotos возвращает объект с защищенными свойствами, так еще и каждый элемент содержит такие же, а нужные поля, например $value->id находятся в защищенном свойстве _object, но при этом это "нечто" спокойно можно вывести через foreach.
Посему вопросы:
1. Что это за хрень???
2. Как вывести текущую фотку (по сути текущий элемент массива, как всегда и было вроде)?
3. Что почитать про ORM, чтобы не задавать таких вопросов? (но для меня это открытие, честное слово)
UPD. Все оказалось просто - $allPhotos[0] и $allPhotos[0]->id... Откуда тогда столько защищенных св-в, зачем в каждом элементе хранить кучу св-в, а в придачу еще и поля из БД, я не понимаю...