SQLSTATE [42S22]:找不到列:1054未知列where子句

时间:2020-01-30 00:44:26

标签: laravel eloquent

关于,我正在更新一个名为 使用权 使用主键= idusuarios的相同视图,插入操作使我毫无疑问地出现了问题,当我想更新它时会产生错误

SQLSTATE [42S22]:找不到列:1054“ where子句”中的未知列“ usuarios.id”(SQL:从usuarios中选择*,其中usuariosid = 1限制1)

这是我的代码

型号

Usuario类扩展了模型 {

protected $table = 'usuarios';
protected $primarykey  = 'idusuarios';
protected $filliable = [ 'cedula','nombre','tele1','tele2','correo','direccion',
'user_name','user_pass','fecha_ingreso','usu_idrol'];

public function Usuario(){

    // return $this->belongsTo('app\Roles','idrole','usu_idrol');
     return $this->hasOne('app\Roles','idrole','usu_idrol');

}

const CREATED_AT = NULL;
const UPDATED_AT = NULL;

另一个表的模型

class Roles extends Model

{


protected $table ='roles';
protected $primarykey  = 'idrole';
protected $filliable = ['desc_rol'];

public function Roles(){

    return $this->belongsTo('app\Usuario','usu_idrol','idrole');


}

控制器

 public function update(Request $request)
{
    //
    $usuario = Usuario::findOrFail($request->idusuarios);
    $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 = $request ->estado;
    $usuario->usu_idrol = $request ->usu_idrol;
    $usuario->save();
}

axios

actualizarUsuario(){


    if (this.validarUsuario()) {

        return;

    }
    let me = this;

    axios.put('/usuario/actualizar',{
      // parametros que voy a recibir
      'idusuarios': this.idusuarios,
      '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,
      'idusuarios': this.idusuarios,


    }).then(function (response) {

      me.cerrarModal();
      me.listarUsuario();


    }).catch(function (error) {

    console.log(error)
    });
  },

1 个答案:

答案 0 :(得分:0)

根据错误消息msg,findOrFail试图找到id = 1,因此重写primary_key无法正常工作。

源代码中的属性primary key$primaryKey

$primarykey更改为 CamelCase ,如下所示:

protected $primaryKey = 'idusuarios';