2010-10-30 13 views
1
class Profile { 
    /** @OneToMany(targetEntity="Link", mappedBy="owner") */ 
    private $links; 
} 

class Link { 
    /** 
    * @ManyToOne(targetEntity="Profile", inversedBy="links") 
    * @JoinColumn(name="owner_id", referencedColumnName="id") 
    */  
    public $owner; 
    /** 
    * @ManyToOne(targetEntity="Profile") 
    * @JoinColumn(name="subject_id", referencedColumnName="id") 
    */  
    public $subject;  
} 

$em->findBy(array("owner"=>$owner,"subject"=>$subject)); 

donne terrain non reconnu: propriétairefindBy relation champ

il existe une solution bien sûr, mais il semble laid

$em 
->createQuery('SELECT l FROM \Dating\Models\Link l WHERE l.owner = ?1 AND l.subject = ?2') 
->setParameter(1,$owner) 
->setParameter(2,$subject) 
->getResult(); 

est-il possible en utilisant findBy sans écrire ma propre méthode?

+0

Avez-vous déjà trouvé cela? Je peux avoir une solution pour vous sinon. – Squazic

Répondre

1

Tout est correct dans votre code. Doctrine2 est actuellement en version bêta et c'était un bogue en beta4. Essayez de télécharger la dernière version de GIT et cela devrait fonctionner!

0

owner n'est pas un champ, owner_id est. Essayez d'utiliser ça.

+0

Résultats dans: Champ inconnu: owner_id – BoomyJee

Questions connexes