laravel updateOrCreate方法
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(); });
现在的问题是,我的表中已经有一条记录,但上面的代码又创建了另一条记录,而且每次按钮点击(请求)都会创建两条记录。