If you want to update an existing pivot record on the table, use updateExistingPivot instead of syncWithPivotValues.
// MigrationsSchema::create('role_user', function ($table) {    $table->unsignedId('user_id');    $table->unsignedId('role_id');    $table->timestamp('assigned_at');}) // first param for the record id// second param for the pivot records$user->roles()->updateExistingPivot(    $id, ['assigned_at' => now()],);
Tip given by @sky_0xs