поле отношения findBy - PullRequest
       7

поле отношения findBy

1 голос
/ 30 октября 2010
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 без написания моего собственного метода?

Ответы [ 2 ]

1 голос
/ 01 ноября 2010

Все правильно в вашем коде.Doctrine2 в настоящее время находится в бета-версии, и это была ошибка в бета-версии 4.Попробуйте скачать последнюю версию с GIT и она должна работать!

0 голосов
/ 30 октября 2010

owner - это не поле, owner_id - это поле. Попробуйте использовать это.

...