symfony, pager и unescape одно из значений вместо всех - PullRequest
0 голосов
/ 15 февраля 2012

Я хочу отображать необработанные данные одного значения из базы данных.Таблица довольно большая, с большим количеством данных, и мне нужно всего 5 столбцов на странице индекса.Поэтому я определил необходимые критерии в критериях и использовал doSelectStmt с пейджером для разбивки на страницы.

Я отображаю его так:

http://pastebin.com/bccSkjs1

Поле TEXT содержит некоторый HTML, и яхочу отображать это нормально (не экранировано).Тем не менее, 3 других поля (не показаны в коде выше) должны быть экранированы , поскольку они также могут иметь некоторый html, но его нельзя интерпретировать как html.

Я знаю, что в обычном объекте я могу сделать: $sf_data->getRaw("foo")->getBar() вместо $foo->getBar(), чтобы получить ожидаемый результат.

Но как я могу получить то же самое, когда у меня нет нормального объекта, только массив данных, как в этом случае?

Я знаю, что могу сделать $sf_data->getRaw("pager")->getResults() в foreach, но он удалит ВСЕ поля, что совершенно неверно!

1 Ответ

1 голос
/ 15 февраля 2012

Вам нужно обращаться к свойствам через массивы (что, кстати, некрасиво)?

Если бы вы обращались к свойствам через методы получения объекта, вы могли бы сделать:

echo $News->getText(ESC_RAW);

И ваше поле text будет экранировано.

...