Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai un petit problème que je rencontre après avoir implémenté le chargement des données par Lazy Loading et que je n'avais pas avec le Full Loading.
Pour ajouter des intervenants liés à un article je fais ceci :
// Charger les données (Lazy Loading) foreach ($article->intervenants as $intervenant) $intervenant->role; // Suppression des liens $db = new DbTable_ProIntRolIns(); $db->delete(array('id_produit = ?' => $article->id)); // Sauvegarde des intervenants foreach ($article->intervenants as $intervenant) { $intervenant->save(); $db->insert(array( 'id_produit' => $article->id, 'id_intervenant' => $intervenant->id, 'id_instrument' => null, 'id_role' => $intervenant->role->id )); }
Comme vous pouvez le voir avec mon code je dois forcément faire :
foreach ($article->intervenants as $intervenant)
$intervenant->role;
Je ne trouve pas ça élégant et je pense qu'il y a de meilleure façon de faire. Si qqn a une bonne technique merci de me la divulguer .
Hors ligne
Si c'est une opération que tu fais systématiquement, tu peux surcharger ta méthode lorsque tu récupères tes intervenants (fetchAll ou autres), a ce moment la, tu n'auras ta ligne seulement a un endroit.
Hors ligne