Développer avec RBS Change : Filtrer des documents sur leur rubrique

  • 44963.1

    12/10/2011 09:22


    David Guillot
    Rang : Expert
    Bonjour,

    Lorsque des documents (par exemple event/baseevent) sont liés à des rubriques, comment fait-on pour les filtrer par rubriques ?

    Nous avons tenté :
    $pp = f_persistentdocument_PersistentProvider::getInstance();
    $pp->createQuery($rss->getType())
           ->add(Restrictions::in('topic', $topic->getId()))//$topic étant un objet topic
    Mais ça ne fonctionne pas car apparemment, la relation entre documents et rubriques est stockée dans une table à part (ce qui est logique vu que c'est une relation n-n).

    Je n'ai pas trouvé dans le wiki comment interroger un document en filtrant sur ses relations n-n, notamment avec des rubriques.

    Merci d'avance
  • 44963.2 en réponse à 44963.1 écrit par David Guillot

    12/10/2011 10:23


    Alexandre Simon
    Titre : Développeur RBS Change
    Rang : Expert
    Bonjour,

    ce n'est effectivement pas explicite dans http://wiki.rbschang.....equetes_de_documents mais pour filtrer les événements dont une des rubriques associées est $topic (en supposant donc la propriété topic de type modules_website/topic), il vous suffit de faire :

    $pp->createQuery($rss->getType())
           ->add(Restrictions::eq('topic', $topic))
    
  • 44963.3

    12/10/2011 10:52


    David Guillot
    Rang : Expert
    Merci beaucoup, je ne pensais pas que les restrictions pouvaient prendre en paramètres des objets plutôt que des identifiants. Du coup, avec la restriction in, ça fonctionne aussi (car les actualités peuvent être liées à plusieurs rubriques).
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1471 membres
Aucun membre connecté