当我尝试向数据库添加新记录时,Laravel 返回错误:
"message": "SQLSTATE[23000]: 违反完整性约束: 1048 列 'usu_idrol' 不能为空 (SQL: insert into usuarios
(cedula
, nombre
, tele1
, tele2
, correo
, direccion
, 用户名
, user_pass
、fecha_ingreso
、estado
、usu_idrol
)值(4477789965、alejo、6326595415、7894560、prueba@prueba.com , calle 1234, 普鲁巴, 789456, 2020-01-13, 1, ?))",
我已经有数据库,但不使用迁移
这是代码:
Controller
public function store(Request $request)
{
//
$usuario = new Usuarios();
$usuario->cedula = $request ->cedula;
$usuario->nombre = $request ->nombre;
$usuario->tele1 = $request ->tele1;
$usuario->tele2 = $request ->tele2;
$usuario->correo = $request ->correo;
$usuario->direccion = $request ->direccion;
$usuario->user_name = $request ->user_name;
$usuario->user_pass = $request ->user_pass;
$usuario->fecha_ingreso = $request ->fecha_ingreso;
$usuario->estado = '1';
$usuario->usu_idrol = $request ->usu_idrol;
$usuario->save();
}
型号
Usuarios 类扩展了模型 { protected $primaryKey = 'idusuarios';
protected $fillable = ['cedula','nombre','tele1,tele2','correo','direccion','user_name','user_pass','fecha_ingreso','estado','usu_idrol'];
public function roles(){
// un usuario pertenece a un rol
return $this->belongsTo('App\Roles');
}
public function setUpdatedAt($value)
{
return NULL;
}
public function setCreatedAt($value)
{
return NULL;
}
}
Vue
registrarOperador()
{
let me = this ;
axios.post('/usuario/registrar',{
'cedula':this.cedula,
'nombre':this.nombre,
'tele1':this.tele1,
'tele2':this.tele2,
'correo':this.correo,
'direccion':this.direccion,
'user_name':this.user_name,
'user_pass':this.user_pass,
'fecha_ingreso':this.fecha_ingreso,
'estado':this.estado,
'usu_idrol':this.usu_idrol
}).then(function (response) {
me.cerraModal();
me.listarOperador();
}).catch(function (error) {
console.log(error.message);
});
},
最佳答案
您的错误非常明确地说明了错误是什么:
Column 'usu_idrol' cannot be null
从您的 Controller $request->usu_idrol
正在返回NULL
.
您可以通过放置 dd($request->usu_idrol)
来检查/验证该值,或使用浏览器开发工具查看 Vue 组件发送的内容为 usu_idrol
在请求负载中。
关于mysql - Laravel 5 插入带有外键错误的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59725221/