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