campo relación findBy
-
27-09-2019 - |
Pregunta
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));
da campo no reconocido: propietario
hay una solución, por supuesto, pero se ve feo
$em
->createQuery('SELECT l FROM \Dating\Models\Link l WHERE l.owner = ?1 AND l.subject = ?2')
->setParameter(1,$owner)
->setParameter(2,$subject)
->getResult();
¿hay alguna posibilidad usando findBy sin escribir mi propio método?
Solución
Todo es correcto en el código. Doctrine2 se encuentra actualmente en fase beta y que era un error en beta4. Intente descargar la última versión desde GIT y debería funcionar!
Otros consejos
owner
no es un campo, es owner_id
. Trate de usar eso.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow