データベースへの/からのデータの読み取り/書き込みを学習しようとしていますが、大きな問題があります:
私のエンティティは次のようになります:
カテゴリ:
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
* @ORM\Table(name="kategorie")
*/
class Kategorie
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $idkategorii;
/**
* @ORM\Column(type="string", length=50)
*/
protected $nazwa;
/**
* @ORM\OneToMany(targetEntity="Ogloszenia", mappedBy="ogloszenia")
*/
protected $ogloszenia;
Ogloszenia: Doctrine\ORM\Mapping を ORM として使用します。
/**
* @ORM\Entity
* @ORM\Table(name="ogloszenia")
*/
class Ogloszenia
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string",length=100)
*/
protected $tytul;
/**
* @ORM\Column(type="string", length=120)
*/
protected $tytul_seo; //tytul bez polskich znaków etc.
/**
* @ORM\Column(type="text")
*/
protected $tresc; //tresc ogloszenia
/**
* @ORM\Column(type="string",length=50)
*/
protected $dodal; //imie osoby ktora dodala ogloszenie
/**
* @ORM\Column(type="string", length=50)
*/
protected $kontakt; //nr tel lub mail
/**
* @ORM\ManyToOne(targetEntity="Kategorie", inversedBy="kategoria")
* @ORM\JoinColumn(name="kategoria", referencedColumnName="idkategorii")
*/
protected $kategoria;
今、私のコントローラで私はすべての値を読み取ろうとしています:
public function odczytajAction()
{
$id = 1;
$kategoria = $this->getDoctrine()
->getRepository('FrontendOgloszeniaBundle:Kategorie')
->find($id);
$ogl = $kategoria->getOgloszenia();
foreach($ogl as $o)
{
print_r($o);
}
return new Response('test odczytu');
}
残念ながら、symfony2 は次のエラーを表示します。
Notice: Undefined index: ogloszenia in /home/sl4sh/public_html/Projekt1/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php line 1574
500 Internal Server Error - ErrorException
それで、私のコードの何が問題なのか教えてください。