2016-07-14 86 views
0

这里是用于插入数据的控制器方法我无法在Laravel将数据插入到表5.2

public function addTeacher(Request $request) 
{ 
    $this->validate($request, [ 
     'teacher_id' => 'required|min:1', 
     'name' => 'required|min:2', 
     'address' => 'required|min:3', 
     'cnic' => 'required|min:13', 
     'phone_no' => 'required|min:11', 
     'email' => 'required|email|unique:teachers', 
     'password' => 'required|confirmed|min:6', 
     'dept_id' => 'required|min:1' 
    ]); 
    Teacher::create($request->except('_token')); 
    return redirect('admin/showTeachers'); 
} 

这里是模型

class Teacher extends Authenticatable 
{ 
    protected $primaryKey = 'teacher_id'; 

    public $incrementing = false; 

    protected $fillable = [ 
     'teacher_id', 
     'name', 
     'address', 
     'cnic', 
     'phone_no', 
     'email', 
     'password', 
     'dept_id', 
    ]; 
    } 

我正在此错误(SQLSTATE [23000]:完整性约束冲突:1452无法添加或更新子行:外键约束失败)

我有部门表中的数据但仍然出现此错误

回答

1

你得到这个异常的原因是因为你在表格教师上插入了一个记录,它具有dep_id的值。表教师不存在dept_id。

表教师依赖于表部门。因此,请确保在表教师上插入记录时,父表部门上已存在dept_id的值。

+0

我在部门表中,记录下的dept_id = 1,我如果你想我可以显示显示你的屏幕截图 –

+0

输入相同的值也依赖于部门表,当我插入课程表与相同dept_id我不能得到任何错误 –

+0

还有一两件事,我有另一个表课程,是taecher形式 –

1

我走了同样的错误,请确保您的表单提交必要的表列名称。
您是否在模型中命名了您的表格?我认为它是一个错误。使它看起来像这样。

protected $table = 'your_table_name'; 
protected $fillable = [ 
    'teacher_id', 
    'name', 
    'address', 
    'cnic', 
    'phone_no', 
    'email', 
    'password', 
    'dept_id', 
]; 
相关问题