#cakephp #cakephp-1.3
#cakephp #cakephp-1.3
Вопрос:
Я анализирую cakephp с помощью анализатора xml. Он анализирует его просто отлично. Это огромный xml. Теперь мне нужно ввести это в базу данных. Любой простой способ сделать это, не вдаваясь в слишком большие проблемы со всеми этими массивами и подмассивами
Спасибо
Ответ №1:
Все зависит от того, как выглядит массив и как вы хотите сохранить данные. Если вам просто нужно захватить массив, вы можете использовать serialize:
$data = serialize($xml_array)
И сохраните это в текстовом поле.
Если вам нужно сохранить каждый элемент в массиве, вы можете сделать это достаточно просто, если в массиве нет подмассивов. Если это, например, и массив, подобный этому:
array(
[MyArray] => (
[Field1] => 'data',
[field2] => 'data',
)
)
и поля1 и поле2 соответствуют столбцам таблицы, просто измените [MyArray]
название модели и передайте массив model->save()
функции, и она сохранит данные.
Однако, если у вас есть информация о вложенном массиве:
array(
[MyArray] => (
[Field1] => array([sub_array] => 'more_data'),
[field2] => 'data',
)
)
Ваш единственный вариант — преобразовать данные в массив, который можно сохранить, а затем сохранить его.