Symfony2中的jQuery Autocomplete字段,带有formType和Doctrine2

时间:2011-10-27 10:46:32

标签: forms orm symfony doctrine-orm

我有2个实体通过'OneToMany'关系链接。 其中一个实体是对象City。与此对象对应的表包含近37000个条目。 当我继续创建一个表单来填充Symfony中的Proprietairy实体时,我使用的FormType如下所示。它包括与城市对象

对应的字段
namespace Immo\BienBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class ProprietaireType extends AbstractType {
    public function buildForm(FormBuilder $builder, array $options) {
        $builder
        ->add('nom')
        ->add('prenom')
        ->add('email')
        ->add('telephone')
        ->add('adresse')
        ->add('city', 'entity', array(
            'class'=>'Immo\BienBundle\Entity\City', 
            'property'=>'city'));
    }

    public function getName() {
        return 'immo_bienbundle_proprietairetype';
    }
}

表单呈现组合框。由36000个城市组成,需要很长时间才能加载。我尝试过fetch =“extra_lazy”选项,但它仍然不够高效。 我的想法是创建一个表单,其中输入字段使用ajax并在用户提供2个字母后显示城市列表。我希望社区能够在验证时与我的对象建立所需的关系。

2 个答案:

答案 0 :(得分:2)

使用https://github.com/symfony/symfony/pull/1951 很快在v2.1中我希望......

答案 1 :(得分:0)

您可以使用我的捆绑https://github.com/shtumi/ShtumiUsefulBundle来获取ajax自动填充表单类型