2016-09-25 6 views
-2

내 아바타 업데이트에 관한 약간의 문제가 있습니다.업데이트 사용자 아바타 프로필 Laravel 4.2

Image에 대한 polymorph 관계 테이블이 있습니다. 내 사용자 프로필의 정보를 업데이트하고 내 DB에 새로운 아바타를 업로드 할 때 새로운 항목을 만들고 내 테이블 이미지의 현재 ID를 업데이트하지 않습니다.

표 이미지 아이디 | 경로 | Imageable_id | imageable_type | created_at

public function update($id){ 

    $rules =[ 
     /*'lastname' => 'min:3|string', 
     'firstname' => 'min:3|string', 
     'username'=> 'min:4|unique:users', 
     'mail' => ' email|unique:users', 
     'birthday' => 'date_format:d-m-Y|before:today', 
     'country'=>'min:3', 
     'type_street'=>'min:3', 
     'number'=>'min:1|numeric', 
     'street'=>'min:4|string', 
     'complementary_street'=>'min:2|string', 
     'town'=>'min:2|string', 
     'zip'=>'min:4|numeric', 
     'phone_home'=>'min:10|numeric', 
     'phone_mobile'=>'min:10|numeric', 
     'image_path'=>'image|max:1000|mimes:jpeg,jpg,png',*/ 
    ]; 

    $validator = Validator::make(Input::all(),$rules); 

    if($validator->fails()){ 
     return Redirect::to('/profil/'.$id) 
      ->with('alert_error','Merci de corriger les erreurs'); 

    }else{ 
     $user = User::find($id); 

     $user->lastname  = Input::get('lastname'); 
     $user->firstname = Input::get('firstname'); 
     $user->username  = Input::get('username'); 
     $user->mail   = Input::get('mail'); 
     $user->birthday  = Input::get('birthday'); 
     $user->adresse->type_street = Input::get('type_street'); 
     $user->adresse->number  = Input::get('number'); 
     $user->adresse->street  = Input::get('street'); 
     $user->adresse->complementary_street  = Input::get('complementary_street'); 
     $user->adresse->town   = Input::get('town'); 
     $user->adresse->zip   = Input::get('zip'); 
     $user->adresse->country  = Input::get('country'); 
     $user->adresse->phone_home  = Input::get('phone_home'); 
     $user->adresse->phone_mobile  = Input::get('phone_mobile'); 

     if(Input::hasFile('avatar')){ 
      $avatar = Image::find($id); 

      $file = Input::file('avatar'); 
      $name = time().'-'.$file->getClientOriginalName(); 

      $file = $file->move('img/avatar/', $name); 
      $input['path'] = 'img/avatar/'.$name; 
      $input['imageable_id'] = $user->id; 
      $input['imageable_type'] = 'User'; 

      $avatar = new Image($input); 
      $avatar->save(); 
     } 

     $user->adresse->save(); 

     return Redirect::to('/profil/'.$id) 
      ->with('alert_success','Modification sauvegardé avec succès'); 

    } 
} 

당신이 결코 현재의 ID의 갱신 왜 내가 이해하지 못하는이 기능을 좀 도와 줄래 내 UsersController 방법 업데이트 내 항목을 작성하고 새 항목을 작성하십시오.

감사의

답변

0

당신은 내 아바타를 저장 어떻게 $avatar = new Image($input);

+0

확인 새로운 인스턴스로 발견 $avatar = Image::find($id);을 덮어 쓰는거야? – nicolassiuol