2017-11-26 3 views
1

ユーザーがビデオをクリップすると、そのビデオがパブリックフォルダにアップロードされ、データベースにすべてのビデオデータをアップロードしたいときにスクリプトがあります。しかし、私はタイトルのようなエラーを取得します。ここに私のコードは次のとおりです。データベースにアップロード中に非オブジェクトのプロパティを取得しようとしています

コントローラー:

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); 
    } 

がモデル:

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; 
    } 

私は何を編集する必要がありますか?

+0

エラーは何ですか?より詳細な情報を更新してください。 – Sohel0415

+1

常にFULLエラーメッセージを表示してください – RiggsFolly

答えて

1

配列を渡すので、の代わりに$request['user_id']という構文を使用する必要があります。配列をオブジェクトとして扱うため、エラーが発生しています。

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

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

はそれを動作させるためにあなたのモデルに $fillable配列を追加することを忘れないでください:あなたがここに配列を用意しておりますので

はしかし、単にメソッドを作成して使用します。

関連する問題