2011-11-09 8 views
2

私のような私のEntity1ファイル内のフィールドのカップルを追加返す必要があります。行き方:Symfonyのバンドル FrameworkBundle データ・コレクター RequestDataCollector ::シリアル化()は、文字列またはNULL

/** 
    * @var integer $typeid 
    * 
    * @ORM\Column(name="typeid", type="integer") 
    */ 
    private $typeid; 

そしてgetterメソッドとsetterメソッドを追加しますそれのための。私のコントローラで

私が使用してデータを取得しています:

$result = $entityManager->getRepository('MyBundle:Entity1') 
->findby(array('year' => $year)); 

私は内のすべてのエンティティを通じて私の小枝ファイルIループで (たとえば)名前'entities'の配列に小枝ファイルに私の結果を送信します配列を開き、 データを表示します。

1/2 
ErrorException: Notice: serialize(): "id" returned as member variable from __sleep() but does not exist in /var/www/Symfony/vendor/symfony/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php line 29 

2/2 
Exception: Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector::serialize() must return a string or NULL 

私はsymfonyの2に新しいです、と起こっていただきましたことを確認していない:

は、私は2つの例外を取得しています。私はエンティティファイルに追加した新しいフィールド が問題を引き起こしていると推測しています。

答えて

1

私は私のProductエンティティにこのコードを追加し、同じエラーを持っている:ここでは

/** 
* @var Type $type 
* 
* @ORM\ManyToOne(targetEntity="Acme\StoreBundle\Entity\Product\Type") 
* @ORM\JoinColumn(name="type_id", referencedColumnName="id") 
*/ 
private $type; 

私のテンプレート:

{% render "StoreBundle:Product:list" with { 'products': products } %} 

をしかし、私は、テンプレート変更した場合:

{% for product in products %} 
    <li>{{ product.name }}</li> 
{% endfor %} 

を。 ..または水和モードをアレイに変更する:

$products = $this->getDoctrine() 
    ->getRepository('StoreBundle:Product') 
    ->getQuery() 
    ->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY); 

...エラーは発生しません。

関連する問題