Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Symfony 1.4 embeddedforms和事件调度器_Symfony 1.4_Symfony Forms - Fatal编程技术网

Symfony 1.4 embeddedforms和事件调度器

Symfony 1.4 embeddedforms和事件调度器,symfony-1.4,symfony-forms,Symfony 1.4,Symfony Forms,我有3个表单,一个是SalesForm,SalesItemForm和embeddesalesitemform 我使用embedRelation('SalesItems',EmbedSalesItemForm) 这些都很有效,当我查看销售时,我看到了嵌入其中的项目。那很好 不过,我想做的是检查是否有一个值出现在任何嵌入的表单值中,如果有,可能会挂接到事件调度器/侦听器以发送电子邮件 我可以通过以下方式获取表单值: public function processValues($values) {

我有3个表单,一个是
SalesForm
SalesItemForm
embeddesalesitemform

我使用
embedRelation('SalesItems',EmbedSalesItemForm)

这些都很有效,当我查看销售时,我看到了嵌入其中的项目。那很好

不过,我想做的是检查是否有一个值出现在任何嵌入的表单值中,如果有,可能会挂接到事件调度器/侦听器以发送电子邮件

我可以通过以下方式获取表单值:

public function processValues($values) {

    var_dump($values);exit;

    return parent::processValues($values);

}
这将返回:

    array
      'SalesItems' => 
        array
          0 => 
            array
              'id' => string '38' (length=2)
              'quantity' => int 1
              'sku' => string 'test1' (length=9)
              'description' => string 'test1' (length=5)
              'price' => float 9.99
              'out_of_stock' => null
          1 => 
            array
              'id' => string '39' (length=2)
              'out_of_stock' => string 'on' (length=2)
              'quantity' => int 1
              'sku' => string '1234' (length=4)
              'description' => string 'test' (length=4)
              'price' => float 9.99
      'id' => string '20' (length=2)
      'first_name' => string 'Test' (length=4)
      'last_name' => string 'Name' (length=4)
      'email_address' => string 'test@test.com' (length=13)
理想情况下,我需要检查
缺货
是否在上。这是一个复选框字段


非常感谢

据我所知,您需要这样的东西:

public function processValues($values) {

    if(isset($values)){
      foreach($values as $value){
        if($value['out_of_stock'] == 'on'){ // The checkbox is checked
          // Send mail
        }
      }
    }

    return parent::processValues($values);

}