【问题标题】:Update user avatar profil Laravel 4.2更新用户头像配置文件 Laravel 4.2
【发布时间】:2017-02-02 22:58:54
【问题描述】:

我在更新我的用户头像时遇到了一点问题。

我有一个图像的多态关系表,当我更新我的用户个人资料的信息并在我的数据库中上传新头像时,他创建了一个新条目并且没有更新我的图像表的当前 ID。

表格图像 ID|路径|Imageable_id|imageable_type|created_at

我的 UsersController 方法更新

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 并创建新的。

谢谢

【问题讨论】:

    标签: laravel laravel-4 crud


    【解决方案1】:

    您正在使用新实例 $avatar = new Image($input); 覆盖您的查找 $avatar = Image::find($id);

    【讨论】:

      猜你喜欢
      • 2018-09-11
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 2021-08-01
      • 2022-01-03
      • 1970-01-01
      • 2018-10-09
      相关资源
      最近更新 更多