Окт
15

CakePHP – сохранение массива данных (нескольких записей)

CakePHP – сохранение массива данных (нескольких записей)

Для того, чтобы сохранить данные в CakePHP, пришедшие, например, после редактирования формы, нужно воспользоваться функцией save. Формат данных (передаваемой переменной) при этом должен быть следующим:

1
2
3
4
5
6
7
8
Array
(
    [ModelName] => Array
        (
            [fieldname1] => 'value'
            [fieldname2] => 'value'
        )
)

А что делать, если необходимо сохранить массив данных, то есть сразу несколько записей?

Для этого нужно воспользоваться функцией saveAll. Например, мы имеем массив $newArticles:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Array
(
      [0] => Array(
           
           [Article] => Array
                   (
                         [title] => 'Новые технологии на рынке видеокарт'
                         [author] => 'Ben'
                   )
      )

      [1] => Array(
           
           [Article] => Array
                   (
                         [title] => 'Обновление моделей 21' мониторов'
                         [author] => '
Alex R'
                   )
      )
)

И для того, чтобы сохранить/обновить эти данные в таблице Articles, необходимо вызвать функцию saveAll (для обновления, естественно, необходимо, чтобы у элементов массива были указаны ID)

1
$this->Article->saveAll($newArticles);

Похожие статьи:

Добавить комментарий

Перед отправкой формы:
Human test by Not Captcha