首页 > 解决方案 > 违反完整性约束:1048 列 'lawyer_id' 不能为空

问题描述

将数据存储在数据库中时出错..

我将数据存储在数据库中,但它给出了错误,即违反完整性约束:1048 列'lawyer_id'不能为空“

public function lawyersDiplomaInfo(Request $request){
            $dipInstitution = $request->get('diploma_name');
            $dipYear =  $request->get('diploma_year');
            $all_params = $request->keys();
            $total_dipFile = preg_grep("/^dip_file_.*/", $all_params);
            if($dipInstitution != null && $dipYear != null){
                $lawyer = new Lawyer();
                $data = new LawyerDiploma();
                $data->lawyer_id = $lawyer->id;
                $data->diploma_institution = $dipInstitution;
                $data->year = $dipYear;
                $data->created_at = Carbon::now();
                $data->updated_at = Carbon::now();
                $data->save();
            }

            for($i = 0; $i < count($total_dipFile); $i++){
                if($request->file('dip_file_'.$i) != null){
                    $filename = $request->file('dip_file_'.$i)->store('diplomafile');
                    $files = new DiplomaFile();
                    $files->diploma_id = $data->id;
                    $files->file = $filename;
                    $files->save();
                }
            }
        return ['message' => 'Data Added'];
    }

在行 $data->lawyer_id = $lawyer->id; 它给出了一个错误。

标签: databaselaravel-5.7

解决方案


哟创建 $lawyer 两行 ($lawyer = new Lawyer()) 的 $data->lawyer_id = $lawyer->id 所以你需要在分配给 $data 之前设置 $lawyer 参数。


推荐阅读