Я хотел бы отобразить несколько строк данных из таблицы базы данных. Я очень хочу получить несколько советов о том, как лучше всего этого добиться.
Позвольте мне объяснить, как я это делаю сейчас и почему возник этот вопрос: в настоящее время у меня есть схема, по которой контроллер загружает данные в массив, а затем передает их шаблону ветки. Затем шаблон ветки вызывает «служебный» контроллер для отображения массива. Контроллер утилиты заботится о форматировании полей и т. д. Так, например:
Контроллер:
$cols = array('1','2','3');
$rows = array();
for (...) {
$rows[] = ...
}
return array(
'cols' => $cols,
'rows' => $rows,
);
Ветка:
{% render 'Bundle:Table:print' with { 'cols': cols, 'rows': rows } %}
Однако, когда я попытался перейти на Symfony 2.2, я столкнулся с несколькими проблемами из-за того, как внутренние вызовы теперь обрабатываются в версии 2.2. См. http://symfony.com/blog/new-in-symfony-2-2-the-new-fragment-sub-framework
Похоже, что массивы преобразуются в параметры URL, а затем снова анализируются (используя parse_str). Это приводит к двум различным проблемам:
- Для больших таблиц PHP был ограничен 1000 элементами в массивах. (Да, я могу увеличить лимит, но есть ли в этом смысл?)
- Типы DateTime, казалось, потеряли свою типизацию и воспринимались как просто массивы.
Итак, применим ли мой первоначальный подход в будущем? Если нет, то какой подход следует использовать?
Спасибо.