Php Laravel使用Ajax从空值创建默认对象

Php Laravel使用Ajax从空值创建默认对象,php,jquery,ajax,laravel-5,Php,Jquery,Ajax,Laravel 5,我正在尝试使用Laravel中的AJAX POST方法更新我的表单,但提交表单时遇到错误: 从空值创建默认对象 我已经尝试了这段代码来实现我的目标 这是我的Ajax调用: $('.submit').click(function(){ $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-t

我正在尝试使用Laravel中的AJAX POST方法更新我的表单,但提交表单时遇到错误:

从空值创建默认对象

我已经尝试了这段代码来实现我的目标

这是我的Ajax调用

        $('.submit').click(function(){
                $.ajaxSetup({
                    headers: {
                            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                        }
                });
            var form = $('form')[0];
            var update = new FormData(form);
            var id =$('.designNo').val();
         $.ajax({
            type:"POST",
              url:"/design_update/"+id,
                processData: false,  // Important!
                contentType: false,
                cache: false,
              data:update,
              success:function(results){
                if (results==1) {
                    $("#result").html("Upadated Successfully");
                    $('#result')[0].scrollIntoView(true);
                    $("#result").addClass("alert alert-success"); 
                      window.setTimeout(function(){
                      window.location.href = "/design";
                      }, 2000);
                  }else{
                    $('#error').html(results);
                    $('#error')[0].scrollIntoView(true);
                    $('#error').addClass("alert alert-danger");
                    }
                }
            }); 
        }); 
这就是我在Laravel Controller中完成的目标

这是我的Laravel控制器页面:

public function update(Request $request, $id)
{
    // To Update
    // $validator = Validator::make($request->all(), [
    $this->validate($request,[
        'design_no'=>'required',
        'design_image'=>'image|nullable|max:1999'
    ]);
            // Handle file Upload
     if ($request->hasFile('design_image')) {
        // Get filename with image 
            $filenameWithex=$request->file('design_image');
        // Get just file name
             $filename=$_FILES['design_image']['name'];
            // $filename=pathinfo($filenameWithex,PATHINFO_FILENAME);
        // Get just ex 
            // $extension=pathinfo($filenameWithex,PATHINFO_EXTENSION);
        // File Name To Store
            $fileNameToStore=$filename;
        // Upload Image
            $path=$request->file('design_image')->storeAs('public/images',$fileNameToStore);
    }else{
        $fileNameToStore='noimage.jpg';
    }
    $design=design::find($id);
    $design->design_no=$request->input('design_no');
    $design->desg_1=$request->input('desg_1');
    $design->design_image=$fileNameToStore;
    $design->desg_2=$request->input('desg_2');
    $design->desg_3=$request->input('desg_3');
    $design->desg_4=$request->input('desg_4');
    $design->desg_5=$request->input('desg_5');
    $design->desg_6=$request->input('desg_6');    
    $design->save();
    return '1';
}  

问题在于
$design=design::find($id)

我认为
$design
中的单词
$design=design::find($id)为空在这里返回空值

如果是这样,你需要检查一下

$design=design::find($id);
    if($design){
            $design->desg_1=$request->input('desg_1');
            $design->design_image=$fileNameToStore;
            $design->desg_2=$request->input('desg_2');
            $design->desg_3=$request->input('desg_3');
            $design->desg_4=$request->input('desg_4');
            $design->desg_5=$request->input('desg_5');
            $design->desg_6=$request->input('desg_6'); 
    }
如果您想更新您的记录,那么我建议您使用这种简单的更新查询方法

design::where('design_no',$id)->update([
           'desg_1' => $request->input('desg_1'),
            'design_image'=> $fileNameToStore,
            'desg_2' => $request->input('desg_2'),
            'desg_3' => $request->input('desg_3'),
            'desg_4' => $request->input('desg_4'),
            'desg_5' => $request->input('desg_5'),
            'desg_6' => $request->input('desg_6') 
]);

希望这将解决您的问题:)

当我分析网络设计时,没有正确通过以下内容处理:表单数据;name=“design\u no”6是删除它并重新编码时不输入它(在查找任何spl字符中)它的输入和抛出错误如下:完整性约束冲突:1062键“designs\u design\u no\u unique”的重复条目“5”您出现此错误,因为您的表中已有一条记录,其中design\u design\u no\u unique=5我假设检查我的更新答案使用更新查询更新记录:)非常感谢@Mr.Pyramid