
Mam taki chemat w bazie danych:
<table name="kongres" isI18N="true" i18nTable="kongres_i18n"> <column name="id" type="integer" required="true" autoIncrement="true" primaryKey="true"/> <column name="is_actived" type="boolean" default="0"/> <column name="is_homepage" type="boolean" default="0"/> <column name="template" type="VARCHAR" size="50" required="true"/> <column name="produkt" type="integer" required="true"/> </table> <table name="menugroup"> <column name="id" type="integer" required="true" autoIncrement="true" primaryKey="true"/> <column name="tytul" type="varchar" size="255"/> </table> <table name="kongresmenugroup"> <column name="id" type="integer" required="true" autoIncrement="true" primaryKey="true"/> <column name="kongres_id" type="integer" required="true"/> <foreign-key foreignTable="kongres" onDelete="CASCADE"> <reference local="kongres_id" foreign="id"/> </foreign-key> <column name="menugroup_id" type="integer" required="true"/> <foreign-key foreignTable="menugroup" onDelete="CASCADE"> <reference local="menugroup_id" foreign="id"/> </foreign-key> </table>
Po wykonaniu poprawnie poleceń: symfony propel:build-model oraz symfony propel:build-forms dostalem taki formularz (dodałem opcję mulitple oraz expanded, ponieważ potrzrebuję zapisać więcej kongresów niż jeden pod menu) (backend):
public function configure() { 'id' => new sfWidgetFormInputHidden(), 'kongres_id' => new sfWidgetFormPropelChoice(array('model' => 'Kongres', 'add_empty' => false, 'expanded' => true, 'multiple' => true)), 'menugroup_id' => new sfWidgetFormPropelChoice(array('model' => 'Menugroup', 'add_empty' => false)), )); 'id' => new sfValidatorPropelChoice(array('model' => 'Kongresmenugroup', 'column' => 'id', 'required' => false)), 'kongres_id' => new sfValidatorPropelChoice(array('model' => 'Kongres', 'column' => 'id','multiple' => true)), 'menugroup_id' => new sfValidatorPropelChoice(array('model' => 'Menugroup', 'column' => 'id','multiple' => true)), )); $this->widgetSchema->setNameFormat('kongresmenugroup[%s]'); $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema); }
I teraz moje pytanie, niby bo klkinięciu SAVE zapisują się dane do bazy, tylko są one nie poprawne, zawsze zapisuje się dla pola: menugroup_id: 1 oraz kongres_id: 1, mimo że np. wybrany kongres ma ID = 21 a ID menu jest równe np. 3. Proszę powiedzcie co robię nie tak ponieważ pogubiłem się już
