質問

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 は。それを使ってみてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top