私はSymfony 2の初心者です。
クエリからの「オプション」である「選択」を含むフォームを表示しようとしています。
私は自分のフォームに次のコードを入れました:
use Doctrine\ORM\EntityRepository;
use Bloc\MainBundle\Entity\Table;
use Bloc\MainBundle\Entity\Table2;
public function addAction(Request $request)
{
$table = new Table();
$form = $this->createFormBuilder($table , array('attr' => array('role' => 'form')))
->add('num', 'integer', array('label' => 'Numéro', 'attr' => array('class' => 'form-control')))
->add('nom_emetteur', 'text', array('label' => 'Emetteur', 'attr' => array('class' => 'form-control')))
->add('numero', 'entity', array('class' => 'BlocMainBundle:Table2', 'property' => 'numero'))
...
}
そして、私は次のエラーがあります:
Neither the property "numero" nor one of the methods "getNumero()", "isNumero()", "hasNumero()", "__get()" or "__call()" exist and have public access in class "Bloc\MainBundle\Entity\Table".
エラーが「numero」がエンティティ テーブルにないことを示していることは理解していますが、エンティティ Table2 について質問します。私は何かを見逃しているに違いないが、どこにあるのか分からない...
私のエンティティ定義は次のようになります: 表 1:
<?php...
class Table
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="num", type="integer")
*/
private $num;
//Getter and setter...
}
表 2
<?php
namespace Bloc\MainBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Fournisseur
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="Bloc\MainBundle\Entity\Table2Repository")
*/
class Table2
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="numero", type="integer")
*/
private $numero;
/**
* Set numero
*
* @param integer $numero
* @return Fournisseur
*/
public function setNumero($numero)
{
$this->numero = $numero;
return $this;
}
/**
* Get numero
*
* @return integer
*/
public function getNumero()
{
return $this->numero;
}
...
}
私を助けてくれませんか?