У меня есть bean (foo), связанный с другим bean (bar) и хочу получить доступ к полям другого bean's (bar) в Twig. Во-первых, пример того, как я устанавливаю вверх бобыКак получить доступ к связанным полям бобов с помощью RedBean и Twig?
$f = R::dispense('foo');
$f->name = 'foo';
$b = R::dipsense('bar');
$b->val = 10;
R::store($b);
$f->bar = $b;
R::store($f);
Я знаю, что нет никаких проблем, потому что все здесь база данных корректно обновляется. Теперь, используя прут:
<table>
<thead>
<tr>
<th>Name</th>
<th>Value</th>
</tr>
</thead>
<tbody>
{% for f in siteinfo.foos %}
<tr>
<td>{{f.name}}</td>
<td>{{f.bar.val}}</td>
</tr>
{% endfor %}
</tbody>
</table>
Я уверен, почти все работает, потому что я получаю таблицу с именами, напечатанных правильно, однако никаких значений «бара» не печатаются. siteinfo.foos
возвращение R::findAll('foo', 'order by name');
.
Любая помощь была бы принята с благодарностью!
Redbean работает с ленивой загрузкой, прежде всего, вам нужно знать, является ли этот var в twig bean или stdClass или массивом, вы можете проверить эту печать bean {{bean | var_dump}} –
Сбой, потому что ' var_dump' - неизвестный фильтр. – ShiftyCodes
Похоже, что загрузка выполняется как массив. Печать '
f
' в цикле for дает: {"id": "14", "name": "foo", "bar_id": "1"} – ShiftyCodes