質問
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を使用する機会はありますか?
解決
すべてがあなたのコードで正しいです。 Doctrine2は現在ベータ版であり、ベータ4のバグでした。から最新バージョンをダウンロードしてみてください ギット そして、それは機能するはずです!
他のヒント
owner
フィールドではありません、 owner_id
は。それを使ってみてください。
所属していません StackOverflow