Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将筛选器从选择更改为简单输入_Php_Forms_Symfony1_Doctrine - Fatal编程技术网

Php 将筛选器从选择更改为简单输入

Php 将筛选器从选择更改为简单输入,php,forms,symfony1,doctrine,Php,Forms,Symfony1,Doctrine,在我的筛选表单中,我想将默认的sfwidgetformfilteringoice更改为简单的sfWidgetFormFilterInput。 对于关系字段(例如,UserForm有一个PhoneNumberListId字段) 目的是什么 =>当您拥有大量关系数据时,symfony(确切地说是DoctrineFormChoice小部件)将呈现一个包含所有(!)可能关系的select元素,导致网站崩溃 照亮事物的示例: 表:用户、电话号码列表 表格:UserFilterPerform 基本上,我们会

在我的筛选表单中,我想将默认的
sfwidgetformfilteringoice
更改为简单的
sfWidgetFormFilterInput
。 对于关系字段(例如,UserForm有一个PhoneNumberListId字段)

目的是什么

=>当您拥有大量关系数据时,symfony(确切地说是DoctrineFormChoice小部件)将呈现一个包含所有(!)可能关系的select元素,导致网站崩溃

照亮事物的示例:

表:用户、电话号码列表 表格:UserFilterPerform

基本上,我们会在UserFiltPerform中包含以下代码:

$this->setWidgets(array(
'phonenumber_list_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('PhonenumberList'), 'add_empty' => true))));
我将此更改为:

$this->setWidget('phonenumber_list_id', new sfWidgetFormFilterInput(array('with_empty' => false)));
        $this->setValidator('phonenumber_list_id', new sfValidatorSchemaFilter('text', new sfValidatorNumber(array('required' => false))));
这对表单呈现有什么影响?

用户可以选择:

<select name="user_filters[phonenumber_list_id]">
通知:收到≘用户,合作伙伴\u id≘电话号码列表

*“标志”≘" 此处解释(示例“A≘ “B”,即“A类似于/是B的同义词”)

<input name="user_filters[phonenumber_list_id][text]" >
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
at Doctrine_Connection->execute('SELECT COUNT(*) AS num_results FROM receipt r WHERE r.partner_id IN (?) AND (r.deleted_at IS NULL)', array('text' => 1))