laravel updateOrCreate方法

11 浏览
0 Comments

laravel updateOrCreate方法

我在我的方法中有以下代码,通过ajax发送给控制器方法:

$newUser = \App\UserInfo::updateOrCreate([
    'user_id'   => Auth::user()->id,
    'about'     => $request->get('about'),
    'sec_email' => $request->get('sec_email'),
    'gender'    => $request->get("gender"),
    'country'   => $request->get('country'),
    'dob'       => $request->get('dob'),
    'address'   => $request->get('address'),
    'mobile'    => $request->get('cell_no')
]);

dd($request->all()) 给我以下结果:

array:8 [
  "_token" => "fHeEPfTvgMD3FpIBmmc6DmKXFaiuWKZEiOhg6twQ"
  "about" => "关于我"
  "sec_email" => "[email protected]"
  "country" => "最高优先级"
  "gender" => "男"
  "dob" => "1990年12月12日"
  "address" => "一些地址"
  "cell_no" => "234234234"
]

这是完美的。

Jquery代码:

$('#submit-editProfile-form').on('click', function() {
    var profileEditForm = $("#edit-user-profile");
    var formData = $('#edit-user-profile').serialize();
    profileEditForm.on('submit', function(e){
        e.preventDefault();
        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            }
        });
        $.ajax({
            url:'/freelance/edit-userProfile-info',
            type:'POST',
            data:formData,
            error: function (data) {
               console.log('错误');
            }
        });
    }).submit();
});

现在的问题是,我的表中已经有一条记录,但上面的代码又创建了另一条记录,而且每次按钮点击(请求)都会创建两条记录。

0