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));
给出 无法识别的字段:所有者
当然有一种解决方法,但它看起来很难看
$em
->createQuery('SELECT l FROM \Dating\Models\Link l WHERE l.owner = ?1 AND l.subject = ?2')
->setParameter(1,$owner)
->setParameter(2,$subject)
->getResult();
有没有机会在不编写我自己的方法的情况下使用findBy?
答案 0 :(得分:1)
代码中的所有内容都是正确的。 Doctrine2目前在BETA中,它是beta4中的一个错误。尝试从GIT下载最新版本,它应该可以使用!
答案 1 :(得分:0)
owner
不是字段,owner_id
是。尝试使用它。