0

データベースへの/からのデータの読み取り/書き込みを学習しようとしていますが、大きな問題があります:

私のエンティティは次のようになります:

カテゴリ:

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 

それで、私のコードの何が問題なのか教えてください。

4

1 に答える 1

0

無効な mapsBy アノテーションがあります:

/**
 * @ORM\OneToMany(targetEntity="Ogloszenia", mappedBy="kategoria")
 */
protected $ogloszenia;

また、逆側:

/**
 * @ORM\ManyToOne(targetEntity="Kategorie", inversedBy="ogloszenia")
 * @ORM\JoinColumn(name="kategoria", referencedColumnName="idkategorii")
 */
protected $kategoria;
于 2013-01-04T06:58:15.277 に答える