我正在研究一个symfony2项目,对于这个项目,我做了一个表单。 这种形式,是一种基本的,并且工作得很好。 但我希望symfony能够自动完成输入。 (在某些形式上,他独自完成,在这一个,他不想......)
以下是一些代码:
控制器:
$fuser=new FUser($em->getRepository('CD\ConfigBundle\Entity\User')->findOneById($session->get('user_id')));
$form=$this->createForm(new UserInfosType(),$fuser,array());
FUser:class User是我的学说实体
class FUser extends User {
private $type;
public function __construct(User $user) {
$this->nom=$user->getNom();
$this->prenom=$user->getPrenom();
$this->mail=$user->getMail();
$this->tel=$user->getTel();
$this->adresse=$user->getAdresse();
$this->code_postal=$user->getCodePostal();
$this->ville=$user->getVille();
$this->date_naissance=$user->getDateNaissance();
}
public function getType() {
return $this->type;}
public function setType($val) {
$this->type=$val;}
}
和UserInfosType:
class UserInfosType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom', 'text')
->add('prenom', 'text')
->add('tel', 'text', array('required' => false))
->add('adresse', 'text')
->add('code_postal', 'text')
->add('ville', 'text')
->add('date_naissance', 'birthday', array('widget' => 'choice', 'years' => range(1933,2013,1), 'months' => range(1,12,1), 'days' => range(1,31,1)))
->add('type','hidden',array('required' => false, 'data' => 'infos'));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'CD\BoutiqueBundle\Form\FUser'
));
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'CD\BoutiqueBundle\Form\FUser',
);
}
public function getName()
{
return 'cd_configbundle_userinfostype';
}
}
该表格有效,但如果我在我的数据库中放入一些信息,则不会在表单输入中显示....
编辑:soz,BDD意味着DB法语... 没有自动完成代码,symfony独自完成,不是吗? (在某种形式上,他独自完成)