2015-06-08 58 views
0

我想將數組中的值保存到我的數據庫的一個字段中。我一直在使用該代碼,但沒有得到保存。保存數組CakePhp

$this->Form->input('Model.0.field1'); 
$this->Form->input('Model.0.field2'); 
$this->Form->input('Model.1.field1'); 
$this->Form->input('Model.1.field2'); 

謝謝。

+0

您嘗試使用的保存代碼在哪裏?你使用的是哪個版本的CakePHP(它有很大的不同)。官方文檔詳細介紹瞭如何保存,因此請確保您已經正確地閱讀! – drmonkeyninja

+0

嘿!是的,我已經閱讀過它,並且每走一步都沒有得到保存:/!我使用CakePhp 2.6.0。我有一個HABTM關聯,並且我的保存代碼位於關聯控制器中。 –

+0

請在控制器中添加您使用的代碼以保存問題。表單輸入不能提供關於您正在嘗試或發生什麼問題的足夠信息。 – drmonkeyninja

回答

0

我認爲你需要用json_encode()值來保存數據。

// In your controller 

public function test() { 

    if($this->request->is('post')) { 

     //If you want to insert in single row then you can use json_encode() and add to your colum. 

     $insert_data = json_encode($this->request->data); 

     $data = array(); 
     // Load your model where you want save data 

     $this->loadModel('Test'); 
     // set attribute name where you want to save 

     $data['Test']['value'] = $insert_data; 
     $this->Test->save($data); 

     //For viewing your data 
     $fetchedData = $this->Test->find('all'); 
     foreach($fetchedData as $items) { 
      var_dump(json_decode($items['Test']['value'])); 
     } 
    } 
} 

可以使用內爆()來生成逗號分隔的數據。如果您想使用implode(),請看Inserting an array into a mysql database column