2017-07-23 5 views
0

Auf Vorlage eine Datei lädt ich diesen folgenden Fehler hatte:Laravel 5.1: kann nicht eine Videodatei

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'video_ogg' cannot be null (SQL: insert into `profiles` (`about_me`, `video_ogg`, `updated_at`, `created_at`) values (lorem, , 2017-07-23 02:15:50, 2017-07-23 02:15:50)) 

, die das Feld heißt video_ogg cannot be null aber wenn ich auf Debug-Modus dieses Feld nicht leer überprüfen (siehe unten)

Controller

public function store(Request $request) 
    { 
     // Validation // 
     $validation = Validator::make($request->all(), [ 
     'about_me' => 'required', 
     'video_ogg' => 'required|mimes:mp4,ogx,oga,ogv,ogg,webm|min:1|max:3240', 
     ]); 

     // Check if it fails // 
     if($validation->fails()){ 
     return redirect()->back()->withInput() 
          ->with('errors', $validation->errors()); 
     } 

     $profile = new Profile; 

     //Debugging 
     dd($request->files); 

     // save media data into database // 
     $profile->about_me = $request->input('about_me'); 
     $profile->video_ogg = $request->input('video_ogg'); 
     $profile->save(); 

     return redirect('/profile')->with('message','You just created your profile!'); 
    } 

Debuggen Ergebnis

FileBag {#45 ▼ 
    #parameters: array:1 [▼ 
    "video_ogg" => UploadedFile {#30 ▼ 
     -test: false 
     -originalName: "mov_bbb.ogg" 
     -mimeType: "audio/ogg" 
     -size: 614492 
     -error: 0 
    } 
    ] 
} 

Hier, wie Sie auf das Debuggen sehen können, ist das Video hochgeladen oder ich meine, ist in der Anfrage-Array, aber ich habe immer noch eine Fehlermeldung.

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'video_ogg' cannot be null (SQL: insert into `profiles` (`about_me`, `video_ogg`, `updated_at`, `created_at`) values (lorem, , 2017-07-23 02:15:50, 2017-07-23 02:15:50)) 

Ansicht

{!! Form::open(['url'=>'/profile', 'method'=>'POST', 'files'=>'true']) !!} 
... 
     <div class="form-group"> 
     <label for="video_ogg">Upload Video (ogg)</label> 
     <input type="file" class="form-control" name="video_ogg"> 
     </div> 
... 

die diese Ausgabe

<form method="POST" action="http://localhost:8000/profile" accept-charset="UTF-8" enctype="multipart/form-data"><input name="_token" type="hidden" value="KxvK6tONoUhBCx58ESlbE1hh9eP8hy5nQyNqb62W"> 

So habe ich überprüfen, ob enctype="multipart/form-data" in Form ist.

Modell

class Profile extends Model 
{ 
    // 
    protected $fillable = ['video_ogg', 'about_me']; 
} 
+0

Haben Sie setzen 'video_ogg' sein ausfüllbare? –

+0

Können Sie 'dd ($ request-> input ('video_ogg'))' 'versuchen und das Ergebnis veröffentlichen? –

+0

@VandolphReyes es ist null –

Antwort