CakePHP обновляет множество ресурсов - PullRequest
1 голос
/ 20 января 2011

У меня есть категория-продукт, отношение ко многим ко многим. Когда продукт создан, выбирается одна или несколько категорий, а затем продукт сохраняется. Это прекрасно работает, и таблица соединений заполнена правильно. Проблема в том, что когда я иду редактировать продукт, я могу добавлять другие категории, изменять их и т. Д. Проблема возникает, когда я пытаюсь сохранить, это не удается.

Строка, которую я использую для сохранения:

$this->Product->saveAll($this->data)

$ this-> Product-> id заполнен правильно, а отладка $ this-> data дает мне массив, подобный так:

Array(

    [Product] => Array
    (
        [0] => 17
    )

    [Category] => Array
    (
        [0] => Array
            (
                [0] => 85
            )

        [1] => Array
            (
                [0] => 96
            )

    )

)

Я не знаю, почему это не спасает, поскольку я нигде не могу найти подробностей об ошибке.

Любая помощь высоко ценится.

Ответы [ 2 ]

1 голос
/ 23 января 2011

Я думаю, что эта структура неверна.Если вы редактируете, где поле 'id' продукта?

[Product] => Array
(
    [id] => 17
)

Я делаю это в приложении.Я проверю это завтра (сегодня я не могу просмотреть исходный код), но я думаю, что идентификатор - это проблема.

0 голосов
/ 24 января 2011

Как говорит raultm, структура была немного неправильной, но это оказалось проверкой в ​​модели. Поля имени и описания были настроены так, чтобы не допускать пустых данных, и в структуре я не передавал их (не знал, что вам пришлось это делать при обновлении). С помощью добавления пропущенных полей и правильного именования полей в массиве, т.е. идентификатора, имени и описания, это сработало.

...