我希望你能帮我解决这个问题,因为我真的看不出这里有什么问题。
我有 2 个实体:RokZaPrijavuProjekta和Predmet。
RokZaPrijavuProjekta:
/**
* @ORM\Table(name="rok_prijava_projekta")
* @ORM\Entity(repositoryClass="JP\AdminBundle\Repository\RokZaPrijavuProjektaRepository")
*/
class RokZaPrijavuProjekta
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer $id_predmet
* @ORM\ManyToOne(targetEntity="Predmet")
* @ORM\Column(name="id_predmet", type="integer")
*/
private $predmet;
/**
* @var date $od
* @ORM\Column(name="od", type="date")
*/
private $od;
/**
* @var date $do
* @ORM\Column(name="do", type="date")
*/
private $do;
/**
* @var string $info
* @ORM\Column(name="info", type="string", length=120)
*/
private $info;
}
Predmet实体代码:
/**
* @ORM\Table(name="predmeti")
* @ORM\Entity(repositoryClass="JP\AdminBundle\Repository\PredmetRepository")
*/
class Predmet
{
/**
* @var integer $id
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $sifra
* @ORM\Column(name="sifra", type="string", length=64)
*/
private $sifra;
/**
* @var boolean $vidljiv
* @ORM\Column(name="vidljiv", type="boolean")
*/
private $vidljiv;
}
存储方法:
$q = $this->createQueryBuilder('r')
->select('rzpp')
->where('rzpp.predmet = :predmet')
->from('JPAdminBundle:RokZaPrijavuProjekta', 'rzpp')
->leftJoin("rzpp.predmet", "p")
->setParameter('predmet', $predmet)
->getQuery();
所有类成员的 getter 和 setter 都已正确定义。
现在,“RokZaPrijavuProjekta”有一个对“Predmet”的外键引用,所以这些“RokZaPrijavuProjekta”中的许多都可以有相同的“Predmet”。
我想为此目的创建单向多对一关系,但不断抛出异常:
JP\AdminBundle\Entity\RokZaPrijavuProjekta 类没有名为 predmet 的关联
我翻遍了Doctrine 文档,但发现这是定义单向多对一关系的首选方式。
你知道这里可能有什么问题吗?
更新
- 添加了 Predmet 实体代码...
- 添加了存储库方法
非常感谢!
问候, 约万