2017-01-31 2 views
0

От внешнего вида мне кажется очень логичным, но я чего-то не хватает, он не работает, ничего не меняется!обновление аватара пользователя с laravel5

Вот мой профиль файл контроллера:

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

и вот мой 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 

но когда я редактирую пользователь не change..plz помочь

+0

Там нет переменной $ пользователя инициализируется в вашем методе обновления =>. –

+0

извините, не понял вашу мысль! что вы имеете в виду? – Dever

ответ

1

Похоже, вы ошиблись при использовании формы из Laravel HTML Collective. Вы должны использовать «файлы» истинный вместо «файл» => правда

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

мужчина, ты просто! Спасибо тебе большое!!! – Dever

+0

Рад, что я мог помочь :) Привет. –

Смежные вопросы