2017-11-26 1 views
1

Ich habe ein Skript, wenn Benutzer Videoclip, dann das Video in den öffentlichen Ordner hochgeladen, und jetzt möchte ich alle Videodaten in die Datenbank hochladen. Aber ich bekomme Fehler wie im Titel. Hier ist mein Code:Versuch, die Eigenschaft von Nicht-Objekt beim Hochladen in die Datenbank zu bekommen

Controller:

public function clip($id) 
    { 
     $video = Video::where('id', $id)->first(); 

     $oldId = $video->id; 
     $originalName = $video->original_name; 
     $newName = str_random(50) . '.' . 'mp4'; 

     FFMpeg::fromDisk('public') 
     ->open('/uploads/videos/' .$video->file_name) 
     ->addFilter(function ($filters) { 
     $filters->clip(FFMpeg\Coordinate\TimeCode::fromSeconds(5), FFMpeg\Coordinate\TimeCode::fromSeconds(2)); 
     }) 
     ->export() 
     ->toDisk('public') 
     ->inFormat(new \FFMpeg\Format\Video\X264) 
     ->save('/uploads/videos/' . $newName); 



     $data = ['user_id'=>Auth::user()->id, 
      'file_name'=>$newName, 
      'original_name'=> $originalName, 
      'old_id' => $oldId, 
     ]; 

     $video = Video::edit($data); 
    } 

Modell:

public static function edit($request) 
    { 
     $video = new Video; 
     $video->user_id = $request->user_id; 
     $video->file_name = $request->file_name; 
     $video->original_name = $request->original_name; 
     $video->save(); 

     $old = $file = Video::where('id', $request->old_id)->delete(); 
     //$old_file = unlink($request->file('file')); 

     return $video; 
    } 

Was soll ich bearbeiten?

+0

was ist der Fehler ?? Bitte aktualisieren Sie Ihre Informationen mit mehr Details. – Sohel0415

+1

Bitte zeigen Sie uns immer die volle Fehlermeldung – RiggsFolly

Antwort

1

Da Sie Array übergeben, müssen Sie stattdessen $request['user_id'] Syntax $request->user_id verwenden. Sie erhalten den Fehler, weil Sie versuchen, das Array als ein Objekt zu behandeln.

Aber da du hier Array vorbereitet haben, verwenden Sie einfach Methode erstellen:

public static function edit($data) 
{ 
    $this->destroy($data['old_id']); 

    return $this->create($data);; 
} 

nicht $fillable Array zu Ihrem Modell hinzufügen Vergessen, damit es funktioniert.

Verwandte Themen