2016-07-29 2 views
0

Использование Cake v2.x У меня есть форма для моего метода добавления, который предлагает четыре входа для ввода html. В выбирает не являются обязательными, если пользователь делает один выбор и сохраняет формат моего массива должны быть сохранены следующим образом:CakePHP Empty Selects Save

array(
    'AttributeProductVariation' => array(
     'product_id' => '26', 
     'sku' => 'xxxxxx', 
     'stock_level' => '10', 
     'id' => '' 
    ), 
    'AttributeVariation' => array(
     (int) 1 => array(
      'variation_id' => '1' 
     ), 
     (int) 2 => array(
      'variation_id' => '' 
     ), 
     (int) 4 => array(
      'variation_id' => '' 
     ), 
     (int) 7 => array(
      'variation_id' => '' 
     ) 
    ) 
) 

Проблема заключается в том, что значения сохраняются в таблице AttributeVariation с variation_id = 0 для 3 выбирает, которые остались пустыми. Мне нужно, чтобы эти опции игнорировались и не сохранялись в этом случае.

Мой FormHelper выглядит следующим образом:

$this->Form->input('AttributeVariation.'.($key).'.variation_id', [ 
    'label' => $attributes[$key],      
    'required' => false, 
    'options' => $variations[$key], 
    'empty' => 'Select an Attribute if required', 
]); 

сохраняет следующим образом:

$this->AttributeProductVariation->saveAll($this->request->data) 

Я мог бы, конечно, искать пустые выбирают и удалить их из массива перед сохранением, но это походит на взломать? Я уверен, что Framework может справиться с этим из коробки?

+0

вы можете проверить на 'variation_id' не пусто – Poonam

ответ