Это может быть простая проблема, но она портит мне голову.
Дело в том, что я делаю проект с FuelPHP, RedBean и Twig. Кажется, все работает нормально, и я очень хорошо работаю с этой структурой.
Проблема, с которой я сталкиваюсь, но пока не нашел решения, заключается в том, что Twig не может получить доступ к {{object.property}}
, если я получаю объект из redbean. Что совершенно странно, потому что, если я использую свою собственную среду MVC, работает точно такой же код (также Twig + Redbean).
Например
public function action_messages() {
$room = \Uri::segment(3);
$this->data['messages'] = \R::find('message', 'room = ? ORDER BY id', array($room));
// This is working because it's converting each row to array
/*foreach($this->data['messages'] as $id => $message)
$this->data['messages'][$id] = $message->export();*/
return \Response::forge(\View::forge('chat/messages.twig', $this->data));
}
Все работает, как и ожидалось, если я получаю экспорт как массив, а не как объект.
{%for message in messages%}
<b>{{message.user.id}}</b>{{message.datetime}}: {{message.text}}
{%endfor%}
Я действительно потерян с этим. Поэтому буду признателен за любую возможную помощь.
Изменить: (Подробнее)
Если я положу
{%for message in messages%}
{{message}}<br/>
{%endfor%}
Я получаю этот вывод от Var.
{"id":"23","text":"A test","room":"1","datetime":"2012-10-05 15:32:36","user_id":"1"}
13 => string '{"id":"13","text":"adsadsads","room":"1","datetime":"2012-10-05 14:29:08","user_id":"1"}' (length=188)
- person Alrik   schedule 06.10.2012