2017-01-31 1 views
0

Aus dem Blick scheint mir sehr logisch, aber ich vermisse etwas, es funktioniert nicht, nichts ändert sich!Update Benutzeravatar mit Laravel5

Hier mein Profil Controller-Datei ist:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Auth; 
use Image; 

class ProfileController extends Controller 
{ 
    public function profile() 
    { 
     $user = Auth::user(); 

     return view('profile')->with('user', $user); 
    } 

    public function edit() 
    { 
     $user = Auth::user(); 

     return view('edit')->with('user', $user); 
    } 

    public function update(Request $request) 
    { 
     if($request->hasFile('avatar')) 
     { 
      $avatar = $request->file('avatar'); 

      $filename = time().'.'.$avatar->getClientOriginalExtension(); 

      Image::make($avatar)->resize(300, 300)->save(public_path('/uploads/users_avatars/'.$filename)); 
      $user = Auth::user(); 

      $user->avatar = $filename; 

      $user->save(); 
     } 
     return redirect('profile')->with('user', Auth::user()); 
    } 
} 

und hier ist mein edit.blade.php

@extends('layouts.app') 
@section('content') 
    <div class="col-md-6"> 
     {!! Form::model($user, ['method'=>'PATCH', 'action'=>'[email protected]', 'file'=>'true']) !!} 

     <div class="form-group"> 
      {!! Form::label('name', 'Name') !!} 
      {!! Form::text('name', null, ['class'=>'form-control']) !!} 
     </div> 

     <div class="form-group"> 
      {!! Form::label('email', 'Email') !!} 
      {!! Form::email('email', null, ['class'=>'form-control']) !!} 
     </div> 

     <div class="form-group"> 
      {!! Form::label('number', 'Phone') !!} 
      {!! Form::text('number', null, ['class'=>'form-control']) !!} 
     </div> 

     <div class="form-group col-md-5"> 
      {!! Form::label('avatar', 'Avatar') !!} 
      {!! Form::file('avatar', ['class'=>'form-control']) !!} 
     </div><br><br><br><br> 

     <div class="form-group"> 
      {!! Form::submit('Update', null, ['class'=>'btn btn-primary']) !!} 
     </div> 

    {!! Form::close() !!} 
    </div> 
@stop 

aber wenn ich den Benutzer bearbeiten change..plz hilft nicht

+0

Es gibt keine $ user Variable in Ihrer Update-Methode initialisiert verwenden. –

+0

Entschuldigung hat Ihren Standpunkt nicht verstanden! Was meinen Sie? – Dever

Antwort

1

Es scheint, als hätten Sie einen Fehler bei der Verwendung von Formular aus Laravel HTML Collective gemacht. Sie sollten "files" => true statt "Datei" => true

{!! Form::model($user, ['method'=>'PATCH', 'action'=>'[email protected]', 'file'=>'true']) !!} 
+0

Mann du bist fantastisch !!! Vielen Dank!!! – Dever

+0

Froh ich könnte helfen :) Prost. –

Verwandte Themen