Поле CakePHP в этом поле -> data для связанного поля в базе данных - PullRequest
2 голосов
/ 06 января 2011

Я пытаюсь загрузить несколько изображений, используя meioupload, который работает нормально, если я устанавливаю поле image.1.field, а затем image.2.field для каждого поля данных.Затем выполните цикл и создайте / сохраните, а не сохраните все.

Моя проблема возникает, когда у меня есть поле, которое используется в качестве подпапки для изображения в папке изображений.например, у меня есть форма

image.1.product id image.1.artist image.1.file для загрузки image.2.product id image.2.artist image.1.file для загрузки

теперь, когда элементы сохраняются, все данные верны, включая отношение принадлежность к идентификатору продукта, за исключением того, что второе изображение хранится не в том месте.Первое изображение сохраняется в images / image.1.artist / file, второе изображение сохраняется в images / image.1.artist / image.2.artist / file

Это очень раздражает, и этопросто что-то связанное с тем, как поведение meioupload устанавливает подпапку как поле из массива.

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

Таким образом, решение может состоять в том, чтобы просто установить второе поле исполнителя как пустое и добавить только несколько изображений для одного исполнителя.

Или установить в поле данных художника фактическое поле художника в соответствующем продукте, к которому будет принадлежать изображение, но я не могу заставить это работать?

Так чтоВопрос в том, как я могу установить значение этого поля для поля художника связанных продуктов, которое уже есть в базе данных для каждого отдельного создания / сохранения?

пс.Прошу прощения, если это немного затянуто.

1 Ответ

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

Правильно, проблема возникла, потому что я отправлял $ this-> data как 2 массива. Решением было прочитать это-> image-> product-> field ('artist') и установить его в this-> data ['Image'] [1] ['artist'].

Таким образом, он устанавливает поле в первом массиве для Artist, который при этом конкретном поведении meioupload переносится на второй массив данных и, следовательно, загружает изображение (к которому затем добавляется суффикс /). Это позволяет мне загрузить изображения в соответствующий каталог исполнителя, создав 3 миниатюры и сохранив связи, информацию о файле и т. д.

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

Если бы у кого-нибудь был изобретательный способ вызывать meioupload по одному, то это, мы надеемся, позволило бы избежать этой незначительной проблемы, и тогда все больше и больше изображений можно было бы добавить в одну и ту же форму ... увы, я не настолько умен, чтобы знать, как сделай это еще .. Любая помощь будет высоко ценится !!!!

...