我有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个字母后显示城市列表。我希望社区能够在验证时与我的对象建立所需的关系。
答案 0 :(得分:2)
使用https://github.com/symfony/symfony/pull/1951 很快在v2.1中我希望......
答案 1 :(得分:0)
您可以使用我的捆绑https://github.com/shtumi/ShtumiUsefulBundle来获取ajax自动填充表单类型