2016-06-17 2 views
0

je dois faire cette requête avec le code de Propel:gauche se joindre à Propel 2.0

$sql = "SELECT dt.id_ditta,dt.rag_soc as nome_pagina 
          FROM utente_ditte ud  
          LEFT JOIN ditte dt 
          ON ud.id_ditte = dt.id_ditta 
          WHERE ud.id_users=:user"; 
       $stmt = $con->prepare($sql); 
       $stmt->execute(array(':user' => $_SESSION['id_user'])); 
       $results = $stmt->fetchAll(PDO::FETCH_ASSOC); 

Maintenant, je fais avec requête personnalisée, mais je veux l'améliorer, je l'ai vu que je peux utiliser ->leftJOIN() mais je Je ne sais pas l'appliquer. Comment puis-je faire cela?

Désolé, ma question concerne quelques détails, je suis un nouveau venu.

+0

Propel est un peu abandonware. Mon conseil est d'aller avec Doctrine. –

+0

Qu'entendez-vous par "abandonware"? –

+0

il n'est pas développé plus ou moins. Ils ont essayé une grande réécriture pour l'amener au même niveau de Doctrine, mais ils ont raté le train. Et c'est vraiment dommage, puisque j'ai vraiment aimé Propel il y a quelques années –

Répondre

0

Si vous avez construit le modèle avec Propel 2 (ou Propel 1), vous pouvez écrire du code comme ceci:

$collection = UtenteDitteQuery::create() 
        ->leftJoinDitte() 
        ->filterByIdUsers($_SESSION['id_user']) 
        ->find(); 
+0

Notez que cela nécessite que vous définissiez votre relation dans votre schéma –

+0

J'ai besoin d'utiliser le modèle de Ditte pour travailler? –

+0

ne fonctionne pas, je fais var_dump ($ collection); et ne me donne pas un tableau correct. –