Home > Software design >  Laravel eloquent update, 500 Internal Server Error
Laravel eloquent update, 500 Internal Server Error

Time:03-25

I want to update my database with Laravel eloquent update, but response is always 500

This is my model

class Tunggakan extends Model
{
protected $table = 'kredit_tunggakan';
/**
 * @var array
 */
}

This is the function

public function statusTunggakan(){

    $status = Tunggakan::find(2);
    $status -> id_status = 77;
    $status -> save();
}

This is the route

Route::prefix('tunggakan')->group(function () {
Route::post('/statusTunggakan','TunggakanControl@statusTunggakan');
});

Exception:

[2022-03-24 11:20:14] production.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'kredit_tunggakan.updated_at' in 'field list' (SQL: update kredit_tunggakan set id_status = 77, kredit_tunggakan.updated_at = 2022-03-24 11:20:14 where id = 2) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'kredit_tunggakan.updated_at' in 'field list' (SQL: update kredit_tunggakan set id_status = 77, kredit_tunggakan.updated_at = 2022-03-24 11:20:14 where id = 2) 

Thanks before, for helping..

CodePudding user response:

Loking at the exception:

Column not found: 1054 Unknown column 'kredit_tunggakan.updated_at

Seems like you don't have updated_at column in your database table. There are two solutions for this:

I: Create/update your migration to include timestamp fields:

 $table->timestamps();

II: Set timestamps to false when updating the record:

$status = Tunggakan::find(2);
$status->timestamps = false;
$status -> id_status = 77;
$status -> save();
  • Related