2011-01-06 6 views
2

Ich versuche, mehrere Bilder mit Meioupload hochladen, die gut funktioniert, wenn ich image.1.field und dann image.2.field für jedes Datenfeld festlegen. Dann durchlaufen und erstellen/speichern statt alles zu speichern.CakePHP Set Feld in diesem-> Daten zu einem verwandten Feld in der Datenbank

Mein Problem kommt, wenn ich Feld habe, das als Unterordner für das Bild in einem Bilderordner verwendet wird. ich zum Beispiel ein Formular

image.1.product id image.1.artist image.1.file hochladen image.2.product id image.2.artist image.1.file haben zum Hochladen

jetzt, wenn die Elemente gespeichert werden, sind alle Daten einschließlich der zugehörigen Beziehung der Produkt-ID korrekt, außer das zweite Bild wird an der falschen Stelle gespeichert. Das erste Bild wird in images/image.1.artist/Datei gespeichert das zweite Bild in images/image.1.artist/image.2.artist/Datei gespeichert

Diese extrem ärgerlich, und es ist einfach etwas damit zu tun, wie das Meioupload-Verhalten den Unterordner zu einem Feld aus dem Array macht.

Die Art, wie ich auf die Daten speichern musste, ist das Durchschleifen und Erstellen der Werte, was kein Problem ist, aber es funktioniert natürlich nicht mit dieser Methode, einen Unterordner zu setzen.

So könnte eine Lösung möglicherweise sein, einfach das zweite Künstler gesetzt Feld als leer und nur mehrere Bilder für den gleichen Künstler hinzufügen ..

Oder das Datenfeld von Künstler des eigentlichen Gebiet der Künstler zu setzen in der verwandtes Produkt wird das Bild gehören, aber ich kann nicht scheinen, dass dies funktioniert?

Also die Frage ist, wie kann ich den Wert dieses Feldes auf die verwandten Produkte Künstler Feld, das bereits in der Datenbank für jedes separate erstellen/speichern?

ps. Es tut mir leid, wenn das ein bisschen langatmig ist.

+0

kann jemand helfen? –

Antwort

1

Richtig, so kam das Problem, weil ich $ this-> Daten als 2 Arrays gesendet habe. Die Lösung war, dieses-> Bild-> Produkt-> Feld ('Künstler') zu lesen und auf dieses-> Daten ['Bild'] [1] ['Künstler'] einzustellen.

Auf diese Weise wird das Feld im ersten Array auf artist gesetzt, was in diesem speziellen Meioupload-Verhalten auf das zweite Datenfeld und damit auf den Image-Upload übergeht (was dann mit einem/versehen wird) um die Bilder in das entsprechende Künstlerverzeichnis hochzuladen, während 3 Vorschaubilder erstellt werden und die Relationen, Dateiinformationen usw. gespeichert werden.

Ich fand, dass dies beim Laden der Bilder scheinbar keinen Unterschied macht (Bilder funktionieren gut, obwohl der Anzeigecode effektiv zwei/darin hat, weil das zweite Bild in der Datenbank als/dir/gespeichert wird) Künstler/als eine Pose zu der ersten, die gespeichert ist/dir/Künstler)

Wenn jemand eine geniale Möglichkeit hat, Meioupload einzeln zu nennen, dann würde dies hoffentlich dieses kleine Problem vermeiden, und dann könnten mehr und mehr Bilder entstehen in der gleichen Form hinzugefügt werden..alas Ich bin nicht klug genug zu wissen, wie man das noch macht .. Jede Hilfe wäre sehr geschätzt !!!!

Verwandte Themen