数据未保存在Laravel表单上的数据库中

数据未保存在Laravel表单上的数据库中,laravel,laravel-5,Laravel,Laravel 5,我正在尝试在用户登录后更新用户配置文件,它运行良好,并表示配置文件已成功更新,但未在数据库表中插入任何内容,因此从本质上讲,视图未显示任何已更新的表单字段。请大家知道我哪里弄错了,我们将不胜感激,谢谢 控制器更新功能 public function update(Request $request) { $rules = [ 'name' => 'required', 'email' => 'requir

我正在尝试在用户登录后更新用户配置文件,它运行良好,并表示配置文件已成功更新,但未在数据库表中插入任何内容,因此从本质上讲,视图未显示任何已更新的表单字段。请大家知道我哪里弄错了,我们将不胜感激,谢谢

控制器更新功能

    public function update(Request $request)
    {

        $rules = [
            'name' => 'required',
            'email' => 'required',
            'phone' => 'required|numeric',
            'country' => 'required',
            'gender' => 'required',
            'birthday' => 'required',
            'fb' => 'url',
            'twitter' => 'url',
            'gp' => 'url',
            'instagram' => 'url',
            'personal_site' => 'url',
            'aboutme' => 'url',
            'linkedin' => 'url',
            'pinterest' => 'url'

        ];

        $data= $request->all();
        $validator = Validator::make($data, $rules);
        if($validator->fails()){
            return Redirect::back()->withInput()->withErrors($validator);
        }
        $user = Auth::user();

        $user->name = $data['name'];
        $user->email = $data['email'];
        $user->phone = $data['phone'];
        $user->country = $data['country'];
        $user->birthday = $data['birthday'];
        $user->address = $data['address'];
        if($user->save()) {
            $profile_id = $user->id;
            $profile = Profile::find($profile_id);
            if(count($profile) > 0) {
            $profile->gender = $data['gender'];
            $profile->city = $data['city'];
            $profile->state = $data['state'];
            $profile->aboutmyself = $data['aboutmyself'];
            $profile->fb = $data['fb'];
            $profile->twitter = $data['twitter'];
            $profile->gp = $data['gp'];
            $profile->instagram = $data['instagram'];
            $profile->personal_site = $data['personal_site'];
            $profile->aboutme = $data['aboutme'];
            $profile->linkedin = $data['linkedin'];
            $profile->pinterest = $data['pinterest'];
            // $profile = $user->profile()->save($profile);
            $profile->save();

}
        } else {
            return redirect()->back()->withInput()->withInfo("Something went wrong. Please, try again");
        }
        return redirect()->route('profile')->withSuccess("Your Profile Successfully Updated.");

    }
我的视图(profile edit.blade.php)

更新:感谢您的及时响应,但这并没有解决问题,我认为故障可能来自控制器功能:

if($user->save()) {
            $profile_id = $user->id;
            $profile = Profile::find($profile_id);
            if(count($profile) > 0) {
            $profile->gender = $data['gender'];
            $profile->city = $data['city'];
            $profile->state = $data['state'];
            $profile->aboutmyself = $data['aboutmyself'];
            $profile->fb = $data['fb'];
            $profile->twitter = $data['twitter'];
            $profile->gp = $data['gp'];
            $profile->instagram = $data['instagram'];
            $profile->personal_site = $data['personal_site'];
            $profile->aboutme = $data['aboutme'];
            $profile->linkedin = $data['linkedin'];
            $profile->pinterest = $data['pinterest'];
            // $profile = $user->profile()->save($profile);
            $profile->save();
或者可能从打开表单route/variable$user的视图

 {!! Form::model($user, array('route' => 'post.edit.profile', 'method' => 'post', 'class' => 'form-horizontal')) !!}

在用户模型中设置所有表格字段
$filleble

protected $fillable = ['name', 'email', 'password','phone','country','gender'];

这很可能是正确的答案。每当您提到任何“可填充”的内容时,都需要将所有表单字段添加到“可填充”中。或者,您可以删除所有可填充项,这样就可以了。
if($user->save()) {
            $profile_id = $user->id;
            $profile = Profile::find($profile_id);
            if(count($profile) > 0) {
            $profile->gender = $data['gender'];
            $profile->city = $data['city'];
            $profile->state = $data['state'];
            $profile->aboutmyself = $data['aboutmyself'];
            $profile->fb = $data['fb'];
            $profile->twitter = $data['twitter'];
            $profile->gp = $data['gp'];
            $profile->instagram = $data['instagram'];
            $profile->personal_site = $data['personal_site'];
            $profile->aboutme = $data['aboutme'];
            $profile->linkedin = $data['linkedin'];
            $profile->pinterest = $data['pinterest'];
            // $profile = $user->profile()->save($profile);
            $profile->save();
 {!! Form::model($user, array('route' => 'post.edit.profile', 'method' => 'post', 'class' => 'form-horizontal')) !!}
protected $fillable = ['name', 'email', 'password','phone','country','gender'];