ここで何が悪いのか本当にわからないので、この問題についてあなたが私を助けてくれることを願っています。
私には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();
すべてのクラスメンバーのゲッターとセッターの両方が適切に定義されています。
現在、「RokZaPrijavuProjekta」には「Predmet」への外部キー参照があるため、これらの「RokZaPrijavuProjekta」の多くは同じ「Predmet」を持つことができます。
この目的のために単方向のManyToOneリレーションを作成したいのですが、例外がスローされ続けます。
クラスJP\AdminBundle \ Entity \ RokZaPrijavuProjektaには、predmetという名前の関連付けがありません
Doctrineのドキュメント全体を調べましたが、これが一方向の多対1の関係を定義するための好ましい方法であることがわかりました。
ここで何が問題になるのか分かりますか?
アップデート
- Predmetエンティティコードを追加しました...
- リポジトリメソッドを追加
どうもありがとう!
よろしく、ジョヴァン