Сохранение массива 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');

Благодарю.

1 ответ

Я думаю, что вам нужно сохранить данные с 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() для генерации данных через запятую. Если вы хотите использовать implode()посмотрите на вставку массива в столбец базы данных mysql

Другие вопросы по тегам