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?
发布于 2010-11-01 21:49:42
代码中的所有内容都是正确的。Doctrine2目前处于测试阶段,它是beta4中的一个错误。尝试从GIT下载最新版本,它应该可以工作!
发布于 2010-10-30 23:02:38
owner不是字段,owner_id是字段。试着用这个。
https://stackoverflow.com/questions/4059216
复制相似问题