2017-02-24 3 views
2

Ich muss einen Seeder erstellen, der Daten aus einer CSV-Datei importieren wird. Die CSV-Datei enthält den Pfad zu einer Bilddatei, die an das Modell angehängt werden muss.OctoberCMS - Dateianhang in Seeder erstellen

Im documentation finden wir:

Sie können auch einen String an das Datenattribut übergeben, die einen absoluten Pfad zu einer lokalen Datei enthält.

$model->avatar = '/path/to/somefile.jpg'; 

Leider könnte ich etwas fehlen. Dies ist der entsprechende Code:

Modell

public $attachOne = [ 
    'image' => 'System\Models\File' 
]; 

Seeder

$product->image = '/path/image.png'; 
$product->save(); 

Fehler

Der Fehler ist, dass die Datei erstellt wird, nicht. Darüber hinaus werden keine Fehler im Migrationsprotokoll angezeigt.

PS: Beim Speichern von einem Datei-Upload-Feld funktioniert alles wie erwartet.

+0

Können Sie die Frage mit dem Fehler aktualisieren Sie empfangen sind, wenn Sie die Sämaschine laufen? – Joseph

+0

@Joseph sicher! Das Problem wird stillschweigend ignoriert. Ich habe die Frage aktualisiert. –

+1

Ich bekomme genau das gleiche Problem, wenn ich es versuche. Das Befolgen des Beispiels für mehrere Dateien funktioniert jedoch auch, wenn die Beziehung attachOne lautet: '$ product-> image() -> create (['data' => '/pfad/image.png', 'is_public' => true]); 'Vielleicht ist es ein Fehler oder die Dokumentation fehlt etwas? – Joseph

Antwort

1

Versuchen Sie dieses:

$file = new File; 
$file->data = '/path/to/somefile.jpg'; 

$product->image = $file; 
$product->save(); 
+1

Es hat funktioniert! '' '' $ product-> image() -> create (['data' => 'somefile.jpg']); '' '' hat auch funktioniert. –

Verwandte Themen