Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > symfony суммирование содержимого в 2-х столбцах


Автор: moroz11 18.3.2011, 15:46
Только начал изучение симфони.Создал с помощью схемы таблицы в базе.Создал модель.Есть модуль.вОПРОС ТАКОЙ.
При переходе на новую страницу new высвечивается содержимое таблицы.Мне надо,чтобы определенное поле из этой таблицы формировалось как сумма 2-х полей из этой таблицы.Просуммировать и записать полученное значение в третий столбец.Я ознакомился с уроками по симфони.Но ответ не нашел.Я просто даже не знаю,где это описать.В экшене,думаю,нет.Может в форме в валидаторе?
Если,кто знает,отзовитесь.Как это сделать на php.я знаю.Но здесь ООП.Все по-другому.Здесь объекты вместо строк,свойства вместо столбцов,классы вместо таблиц.Но как все это оформить?
Спасибо. 

Автор: KLeonid 22.3.2011, 01:54
Цитата

При переходе на новую страницу new высвечивается содержимое таблицы.Мне надо,чтобы определенное поле из этой таблицы формировалось как сумма 2-х полей из этой таблицы.Просуммировать и записать полученное значение в третий столбец.Я ознакомился с уроками по симфони.Но ответ не нашел.Я просто даже не знаю,где это описать.В экшене,думаю,нет.Может в форме в валидаторе?

Да, делать это нужно в форм-фреймворке. Сделать можно по разному, я предпочитаю полностью дополнять сгенерированную форму всеми labels и defaults, а далее просто наследовать ее в своих формах, под конкретные задачи, отключая ненужные, при необходимости, изменяя поведение нужных, встраивать в другие формы и т.д... Суть в том, чтоб не описывать каждый раз одни и те же поля формы.
Если происходит редактирование существующего объекта (записи в БД), то поля вполне можно сложить в форме, получив объект через $this->getObject() .

Цитата

Но здесь ООП.Все по-другому.Здесь объекты вместо строк,свойства вместо столбцов,классы вместо таблиц.Но как все это оформить?

Без знаний ООП, в симфони делать нечего. Там все как раз и строится вокруг этого самого ООП. Так что если не пугает объем и сложность начального освоения фреймворка, то рекомендую начать изучение с доктрины и форм-фреймворка, это основные компоненты, без хорошего знания которых, первый код будет набором костылей и спагетти  smile .

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)