Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

989
Vistas
Illuminate\Database\QueryException SQLSTATE[42S22]: Columna no encontrada: 1054 Columna desconocida

Probé CRUD con Eloquent pero hay un error cuando ejecuto mi programa

Illuminate\Database\QueryException SQLSTATE[42S22]: Columna no encontrada: 1054 Columna desconocida 'pegawai.id' en 'cláusula where' (SQL: select * from pegawai where pegawai . id = 1 limit 1)

Acabo de ver que mi base de datos no es un problema, pero esto sucede cuando quiero ejecutar mi programa. Y adjunto mi controlador

 public function pegawai_edit($id) { $pegawai = Pegawai::find($id); return view('pegawai_edit', ['pegawai' => $pegawai]); }

y este es mi web.php

 Route::get('/pegawai/pegawai_edit/{id}', 'PegawaiController@pegawai_edit');

Esta es mi mesa pegawai :

 +------------+--------------+-----------------+--------------+----------------+---------------------+---------------------+ | pegawai_id | pegawai_nama | pegawai_jabatan | pegawai_umur | pegawai_alamat | created_at | updated_at | +------------+--------------+-----------------+--------------+----------------+---------------------+---------------------+ | 1 | Lucas | NULL | 1 | Jakarta | 2021-09-29 09:07:09 | 2021-09-29 09:07:09 | | 2 | Test | NULL | 2 | TEST | 2021-09-29 09:07:26 | 2021-09-29 09:07:26 | +------------+--------------+-----------------+--------------+----------------+---------------------+---------------------+

estoy usando laravel 8.6 y mysql es mi base de datos

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

De forma predeterminada, el modelo elocuente utiliza la id del campo como clave principal. Como usa pegawai_id en su lugar, debe configurarlo en su modelo

 class Pegawai extends Model { /** * The primary key associated with the table. * * @var string */ protected $primaryKey = 'pegawai_id'; }

una vez configurado, puede usar todos los métodos proporcionados por eloquent sin decirle específicamente que use pegawai_id cada vez

 public function pegawai_edit($id) { $pegawai = Pegawai::find($id); return view('pegawai_edit', ['pegawai' => $pegawai]); }
over 4 years ago · Santiago Trujillo Denunciar

0

Como no respeta el estándar de Laravel, es decir, usa id como el nombre de su columna de id , intente así:

 public function pegawai_edit($id) { $pegawai = Pegawai::where('pegawai_id', $id)->first(); return view('pegawai_edit', ['pegawai' => $pegawai]); }

O modifique solo su modelo de Pegawai , agregando:

 protected $primaryKey = 'pegawai_id';
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda