を管理する必要があります私はインターネットからの回答を検索しますが、私は理由を見つけることができません: 私は、テーブルの会社、テーブルcompanyTypeを持っている:エンティティ
/**
* Acme\UserBundle\Entity\Company
*
* @ORM\Table(name="company")
* @ORM\Entity
*/
class Company
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var CompanyType
*
* @ORM\ManyToOne(targetEntity="CompanyType")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="company_type_id", referencedColumnName="id")
* })
*/
private $companyType;
...
}
/**
* Acme\UserBundle\Entity\CompanyType
*
* @ORM\Table(name="company_type")
* @ORM\Entity
*/
class CompanyType
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string $name
*
* @ORM\Column(name="name", type="string", length=45, nullable=true)
*/
private $name;
....
public function __toString(){
return $this->name;
}
}
した後、にformTypeクラスで:
class CompanyForm extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('name')
->add('siren')
->add('siret')
->add('tvaCommun')
->add('apeCode')
;
$builder->add('activity','collection', array('type'=> new ActivityForm()));
$builder->add('companyType','entity',array(
'class' => 'AcmeUserBundle:CompanyType',
));
}
...
}
私はフォームを使用しようとしています:
{{ form_row(company.companyType) }}
ビューで、私はエラーメッセージが表示されます。
複数のエンティティマネージャが定義されていますか?フォームが1つのエンティティマネージャ(デフォルト)を使用していて、コントローラが別のエンティティマネージャを使用しているときに実行します。私は一般的に、エンティティマネージャの名前を渡す必要があります。 – Cerad