Forms Symfony2条令形式-实体类型
我试图在symfony2表单中添加一个实体字段,但它总是给我相同的错误:“500(内部服务器错误)” 这是我用来创建表单的类。它是用条令和积垢自动编程的Forms Symfony2条令形式-实体类型,forms,symfony,doctrine,Forms,Symfony,Doctrine,我试图在symfony2表单中添加一个实体字段,但它总是给我相同的错误:“500(内部服务器错误)” 这是我用来创建表单的类。它是用条令和积垢自动编程的 class ClientType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilde
class ClientType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('companyName', 'text' , array( 'attr' => array( 'class' => 'companyname' ) ) )
->add('contactUserName','text' , array( 'attr' => array( 'class' => 'contactusername' ) ))
->add('phone','text' , array( 'attr' => array( 'class' => 'phone' ) ))
->add('subdomain','text' , array( 'attr' => array( 'class' => 'subdomain' ) ))
->add('email','text' , array( 'attr' => array( 'class' => 'email' ) ))
->add('website','text' , array( 'attr' => array( 'class' => 'website' ) ))
;
}
这很好,但我尝试了以下方法:
->add('client', 'entity', array(
'class' => 'BackendBundle:Client'));
'500(内部服务器错误)'
我尝试了很多不同的方法,但都是相同的错误。
问题是,我可以添加或删除在Begging创建的字段,当这个类由doctrine CRUD完成时,但是如果我尝试添加更多不同类型的字段,它不会允许我这样做
我应该创建自己的类型类,以便自定义表单,还是有办法修改所创建的表单
泰
问题是,我可以添加或删除在
当这门课是由教条积垢完成的时候乞讨但是如果我尝试
添加更多不同类型的字段,这不会让我
这是因为创建ClientType.php
的命令是根据BackendBundle\Entity\Client.php
文件的结构创建的。表单将映射到要创建的实体。如果希望表单上有更多字段,则需要将字段作为属性添加到BackendBundle\Entity\Client.php
,然后运行:
php bin/console doctrine:generate:entities <VENDOR>/<BUNDLE>/Entity/Client
or if using Symfony 2 < version 2.5
php app/console doctrine:generate:entities <VENDOR>/<BUNDLE>/Entity/Client
php-bin/console原则:生成:实体//实体/客户端
或者如果使用Symfony 2<版本2.5
php应用程序/控制台原则:生成:实体//实体/客户端
为该字段生成getter和setter,然后
php bin/console doctrine:schema:update --force
or if using Symfony 2 < version 2.5
php app/console doctrine:schema:update --force
php bin/console原则:schema:update--force
或者如果使用Symfony 2<版本2.5
php应用程序/控制台原则:模式:更新——强制
将新字段添加到数据库表中
现在,您可以尝试原样添加字段,确保
add()
方法中的第一个参数与您在实体中命名属性的方式完全匹配。切换到开发模式以获取更多有用的错误消息。这似乎很明显,但您知道您添加的每个字段都必须作为属性存在于客户端类中吗,使用适当的set方法?请提供实体模型定义我理解如果我想添加一个不在我的客户机类中的字段,但当我尝试代码“$builder->add('client','entity',array('class'=>'BackendBundle:client'));”,删除所有以前的“add”时,我不会向该类添加任何新内容,它们是相同的领域,但我把它们都召集在一起,而不是一个接一个地做。据我所知,该类不存储表单输入的类型。然后,我想显示一个已经在类中的字段,但是我不想使用“text”类型,而是想使用“entity”或“choice”之类的。我也不太确定你能不能做到,或者你为什么要这样做,我只是不能使用“文本”字段以外的任何其他类型的表单字段。这是主要问题。我已经添加了其余的信息来组成一个好问题,但这正是我想要解决的。可能是因为医生的积垢吗?根据答案,我将继续研究一个方向或另一个方向。