2016-07-29 88 views
0

使用Cake v2.x我有一個我的add方法的表單,它提供了四個html選擇輸入。的選擇是可選的,如果用戶進行一個選擇,並節省我的陣列的要保存的格式如下:CakePHP空選擇保存

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' => '' 
     ) 
    ) 
) 

的問題是,值保存在與variation_id = 0 AttributeVariation表3選擇哪些是空的。在這種情況下,我需要忽略這些選項並保存。

我的表單助手如下:

$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) 

我當然可以尋找空的選擇和保存前從陣列中刪除這些,但這些似乎是一個破解?我確定框架可以處理這個開箱即用的問題嗎?

+0

您可以檢查'variation_id'不爲空 – Poonam

回答