SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец, где предложение - PullRequest
0 голосов
/ 30 января 2020

С уважением, я обновляю таблицу, называемую usuarios, используя то же представление, где Primary key = idusuar ios, вставка делает меня безупречной, когда я хочу обновить, выдает ошибку

SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «usuar ios .id» в «выражении where» (SQL: выберите * из usuarios, где usuarios. id = 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();
}

топор ios

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 голосов
/ 30 января 2020

Согласно сообщению об ошибке, findOrFail попытайтесь найти id = 1, поэтому перезапись primary_key не работает.

Атрибут primary key в исходном коде $ primaryKey

Измените $primarykey на CamelCase , например:

protected $primaryKey = 'idusuarios';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...