findBy Beziehung Feld
-
27-09-2019 - |
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?
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