Frage

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)); 

gibt Nicht erkannte Feld: Eigentümer

gibt es eine Abhilfe natürlich, aber es sieht hässlich

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

ist es eine Chance, mit findBy ohne meine eigene Methode zu schreiben?

War es hilfreich?

Lösung

Alles ist in Ihrem Code korrekt. Doctrine2 ist derzeit in der Beta und es war ein Fehler in der Beta 4. Testen Sie die aktuelle Version zum Download von GIT und es sollte funktionieren!

Andere Tipps

owner ist kein Feld, owner_id ist. Versuchen Sie das mal mit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top