Symfony1 具有多个元素的Symfony表单筛选器字段的逻辑

Symfony1 具有多个元素的Symfony表单筛选器字段的逻辑,symfony1,doctrine,symfony-1.4,doctrine-1.2,Symfony1,Doctrine,Symfony 1.4,Doctrine 1.2,我正在Symfony 1.4中实现一个否定过滤器字段。带有1个文本输入和1个否定复选框 我可以访问输入值,如下所示 public function addXXXColumnQuery($query, $field, $value) { $v = $value['text']; $n = 'negation_checkbox_true_or_false'; // don't know how? if ($n === true) { $query-

我正在Symfony 1.4中实现一个否定过滤器字段。带有1个文本输入和1个否定复选框

我可以访问输入值,如下所示

public function addXXXColumnQuery($query, $field, $value)
{
    $v = $value['text'];
    $n = 'negation_checkbox_true_or_false'; // don't know how?

    if ($n === true) 
    {
        $query->addWhere($query->getRootAlias().'.name = ?', $v);
    } 
    else if ($n === false) 
    {
        $query->addWhere($query->getRootAlias().'.name <> ?', $v);
    }
}
但我不知道如何访问复选框值

sfWidgetFormInputFileEditable有一个“with_delete”选项,用于打印复选框。有人知道检查该值并删除文件的代码在哪里吗

如果我能找到,也许我能找到答案。

当您创建一个sfWidgetFormInputFileEditable并将with_delete选项设置为true时,小部件会呈现一个附加的复选框,该复选框以带有_delete后缀的file upload小部件命名。 选中复选框时,sfWebRequest对象的sfParameterHolder包含一个以复选框小部件命名的参数

因此,假设您有一个sfWidgetFormInputFileEditable命名文件。在您的操作中,您可以通过以下方式查看是否选中了“删除”复选框:

$request->hasParameter('file_delete');

我认为您不应该在操作中处理它,而是在表单的doSave或doUpdate操作中。根据要实现的行为,它可能更好。