我有两个实体文件,一个是user.php,另一个是usertype.php.现在我想显示一个包含3个字段的登录表单,即用户名,密码和usertype.usertype将是一个从usertype表中获取数据的选择.这是我在user.php中编写的代码,用于为usertype_id创建manytoone字段
/**
* @ORM\ManyToOne(targetEntity="Usertype")
*/
protected $usertype;
Run Code Online (Sandbox Code Playgroud)
下面是我的表单生成代码
class LoginForm extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('login', 'text', array('label' => 'Username',));
$builder->add('password');
}
}
Run Code Online (Sandbox Code Playgroud)
现在我需要在表单构建器中添加一个字段,该字段将是usertype表的选择.
...
use Acme\YourBundle\Entity\Usertype;
class LoginForm extends AbstractType {
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('usertype', 'entity',
array(
'class' => 'AcmeYourBundle:Usertype'
'label' => 'User Type',
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以阅读有关实体字段类型的更多信息,它将为您提供此类字段可用的选项.
不要忘记向__toString()模型添加方法以告诉表单构建器要显示的内容.
namespace Acme\YourBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
class Usertype
{
public function __toString()
{
return $this->getName();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8390 次 |
| 最近记录: |