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