Jump to content

ObjectModel => self::HAS_MANY


Recommended Posts

Bonjour,

 

J'utilise prestahsop 1.7 (dernière version)

 

J'ai développé un module pour mon client permettant de créer des "recettes" avec un titre et un descriptif tout simple. La recette s'enregistre bien dans la base de données. Je souhaite maintenant pouvoir attribuer plusieurs produits à ma fiche recette. J'ai donc créé une table nommée "recette_product" avec les champs "id_recette" et "id_product".

 

Dans mon formulaire de la fiche recette j'affiche tous les produits dans un select comme ceci :

 

$this->fields_form = array(
...
array('type' => 'select', 'label' => 'Produits', 'multiple' => true ,'name' => 'products[]','options' => array('query' => $products_list,'id' => 'id_product', 'name' => 'name')),
...
);

Ca fonctionne, je peux bien sélection 1 ou plusieurs produits. Mais l'enregistrement dans la table "recette_product" ne fonctionne pas. J'ai pourtant mis l'association suivant dans mon objetmodel :

 

 


public static $definition = array(
        'table' => 'recette', 'primary' => 'id_recette', 'multilang' => false,
        'fields' => array(
            'titre' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'size' => 100),
            'descriptif' => array('type' => self::TYPE_HTML),
        ),
        'associations' => array(
            'products' => array('type' => self::HAS_MANY, 'field' => 'id_product', 'object' => 'Product', 'association' => 'recette_product'),
        ),
    );

J'ai l'impression que l'enregistrement ne se déclanche pas car si je mets une table inexistante je n'ai aucun message d'erreur.

 

Quelqu'un aurait-il déjà réussi à faire fonctionner un "HAS_MANY" et s'aurait pourquoi l'enregistrement dans la DB ne fonctionne pas ?

 

Je vous remercie par avance de votre aide.

 

Link to comment
Share on other sites

  • 3 years later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...