у меня 4 таблицы:
- альбомы
- изображений
- теги
- images_tags (id, image_id, tag_id)
Я хотел бы редактировать несколько записей. Все отлично работает, пока я не добавлю теги таблицы.
Теперь мои данные $ this-> выглядят так: (124 - идентификатор изображения)
Array(
[124] => Array(
[Image] => Array
(
[id] => 124
...
)
[Album] => Array
(
[id] => 2
...
)
[Tag] => Array
(
[0] => Array
(
[id] => 2
....
)
)
[125] => Array( ...
)
Это мой вид редактируемый файл:
<?php foreach($this->data as $key => $value) {
echo $this->Form->input('Image.'.$key.'.id');
echo $this->Form->input('Image.'.$key.'.title');
echo $this->Form->input('Image.'.$key.'.Tag'); // multi select for tags
...
И редактировать действие в контроллере изображений:
$result = $this->Image->find('all', array(
'conditions' => array('Image.id' => $img_ids))
);
$this->data['Image'] = Set::combine($result, '{n}.Image.id', '{n}');
Я не знаю, как связать массив $ this-> data с несколькими формами редактирования. Ранее у меня были только данные изображения:
Array(
[124] => Array(
[id] => 2,
...
),
[125] => Array(
...
);
Но теперь мне нужна также информация о тегах. Я использую функцию saveAll ().