LuzoWeb Posted May 27, 2015 Share Posted May 27, 2015 Bonjour, Comment utiliser la fonction save de la class ModelObject pour un champ multilingue ? J'ai deux tables SQL dont une entité. table +----------+----------+ | id_table | date_upd | +----------+----------+ | 12 | 2015-05 | +----------+----------+ table_lang +----+----------+----------+-----------+ | id | id_table | id_lang | name | +----+----------+----------+-----------+ | 1 | 12 | 1 | "Hello" | +----+----------+----------+-----------+ | 2 | 12 | 2 | "Bonyour" | +----+----------+----------+-----------+ J'essais de mettre à jour un enregistrement en base de donnée ("Bonyour" en "Bonjour"). J'ai donc créer un ModelObject: <?php class TableModel extends ObjectModel { public static $definition = array( 'table' => 'table', 'primary' => 'id_table', 'multilang' => true, 'fields' => array( 'id_table' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'required' => true), 'date_upd' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'required' => false), 'name' => array('type' => self::TYPE_STRING, 'required' => false), ), ); } Mais quand je fais : <?php $POST = array('id_table'=>12, 'name'=>'Bonjour'); $table = new TableModel(12); $table->id_table = 12;// ??? if (Validate::isLoadedObject($table)) { if($table->save($POST)){ $this->_html = 'Success'; } else { $this->_html = 'Error'; } } La fonction renvoi false et rien n'est mis à jour. Quelqu'un aurai un peu de temps pour me mettre sur la piste Link to comment Share on other sites More sharing options...
LuzoWeb Posted May 27, 2015 Author Share Posted May 27, 2015 J'ai résolut mon problème en ajoutant 'lang'=>true, et en affectant les données directement au model. 'name' => array('type' => self::TYPE_STRING, 'required' => false, 'lang' => true) La fonction save prend en paramètre les valeurs par default et non les données. <?php $table = new TableModel(12); $table->id_table = 12; $table->name = "Bonjour"; if (Validate::isLoadedObject($table)) { if($table->save()){ $this->_html = 'Success'; } else { $this->_html = 'Error'; } } Merci de m'avoir lue Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now