当前位置: 首页 > 知识库问答 >
问题:

SQLSTATE[42S22]:未找到列:1054未知的列,其中子句

钮勇
2023-03-14

关于,我正在使用主键=idusuarios的同一视图更新一个名为usuarios的表,insert使我完美地解决了问题,因为当我要更新时,它会生成错误

SQLSTATE[42S22]:找不到列: 1054未知列'usuarios.id'in'where子句'(SQL: Select*fromusuarioswhereusuarios.

这是我的密码

模型

类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();
}

公理

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个答案

郎星汉
2023-03-14

根据错误消息,findOrFail尝试查找id=1,因此重写主键不起作用。

源代码中的属性primaryKey是$primaryKey

$主密钥更改为CamelCase如下所示:

protected $primaryKey = 'idusuarios';

 类似资料:
  • 我使用的框架Laravel。 我有两个表(用户和成员)。当我想登录时,我会收到错误消息: SQLSTATE[42S22]:找不到列: 1054未知的列'user_email'in'where子句'(SQL:选择*fromwhere=?限制1)(绑定:数组(0= 表用户 表成员 迁移用户 移民成员 模型用户 模范会员 成员模型使用:使用照明\Auth\UserInterface; 控制器 auth.

  • 我是编程界的新手,我自己在学习laravel,我发现了这个错误:SQLSTATE[42S22]:Column not found:1054未知列'clientes.clientes\u id'在'where子句中(SQL:select*fromwhere=1和不为空)(视图:/shared/httpd/laravel_8_crud/resources/views/pedidos/index.bla

  • 我正在尝试使用PDO向MySQL插入一条记录,下面的代码中可以看到我的sql语句。 当执行此代码时,我会遇到以下错误消息; SQLState[42S22]:找不到列:1054“Field List”中的未知列“John” 这无疑是解决这个问题的一个简单方法,但我似乎看不出来,有人能给我指明正确的方向吗?

  • 我正在制作一个我想登录和注册的应用程序,并且能够将csv文件导入数据库,注册和登录工作正常,但是当我想导入csv时,我遇到了这个问题: 错误luminate\Database\QueryException SQLSTATE[42S22]:未找到列:1054“where子句”中的未知列“classe”(SQL:select*fromwhere(=7和=7598)限制1)科目表 账户控制员

  • 问题内容: 我正在使用Laravel框架。 我有2个表(用户和成员)。当我想登录时,收到错误消息: SQLSTATE [42S22]:找不到列:1054’where子句’中的未知列’user_email’(SQL:select * from where =?limit 1)(绑定:数组(0 =>'test@hotmail.com‘,)) 表用户 表成员 迁移用户 移民会员 模型使用者 模范会员 成

  • 我的代码:数据库中的值未更新,出现以下错误: (照明\数据库\查询异常(42S22)SQLSTATE[42S22]:找不到列: 1054未知列'用户名'在'where子句'(SQL:选择计数()作为聚合从其中=anikatabassum))和("SQLSTATE[42S22]:找不到列: 1054未知列'用户名'在'where子句'(SQL:选择计数()作为聚合从其中=anikatabassum)