2 votes

Comment sauvegarder les modèles associés dans cakePHP

J'ai cinq modèles et leurs tableaux respectifs sont

Member:id,fname,lname
Student:id,member_id(foreign key references member table id),order_id (references order table id)
Contact:id,member_contact_id(foreign key references Member id)
Address:id,city,state
Order:id,student_id(foreign key references student id),contact_id( foreign references contact id),address_id(foreign key references address id

et j'ai établi une relation avec des modèles aussi.

quand je le fais

$this->Order->saveAll($this->session->read()) 

seulement le contact et l'adresse et dans l'ordre contact_id et address_id est sauvegardé mais le membre et l'étudiant n'est pas sauvegardé.

s'il vous plaît, donnez-moi la solution pour sauvegarder tous les modèles à la fois.

1voto

dogmatic69 Points 6108

Cake ne fait que des sauvegardes d'association à 2 niveaux de profondeur avec saveAll (ou plusieurs rangées du même modèle)

vous devrez créer votre propre sauvegarde avec quelques boucles foreach ou simplement sauvegarder les différentes parties des données.

Par exemple, vous utilisez saveAll pour sauvegarder le contact et l'adresse, puis vous récupérez les identifiants. Vous définissez manuellement les identifiants de la personne dans les autres données, puis vous appelez une série de sauvegardes pour les autres données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X