Я работаю над этим маленьким "сайтом", и я могу составить список ploegen. Но я не могу их удалить. каждый раз, когда я нажимаю кнопку "Удалить", я получаю это сообщение об ошибке:
[PersistenceException: ERROR executing DML bindLog[] error[Unique index or primary key
violation: "PRIMARY_KEY_4 ON PUBLIC.PLOEG(ID)"; SQL statement:\n insert into ploeg
(id, naam, punten) values (?,?,?) [23505-172]]]
Это код, который я использую для создания кнопки удаления:
@form(routes.Application.deletePloeg(ploeg.id)) {
<input type="submit" value="Delete deze ploeg">
}
Чем это метод:
public static Result deletePloeg(Long id) {
Ploeg.delete(id);
return redirect(routes.Application.ploegen());
}
En это функция внутри моего Ploeg.class:
public static void maak(Ploeg ploeg) {
ploeg.save();
}
public static void delete(Long id) {
find.ref(id).delete();
}
Ошибка, которую я получаю, касается строки: ploeg.save();
Я действительно не нахожу проблему, я нажимаю кнопку удаления, но она дает ошибку обо мне, сохраняя ploeg. Поэтому, если кто-то может сказать мне, что я делаю неправильно, и как я могу это исправить. Благодарю!
Вы не можете получить экземпляр Ploeg
в качестве входного параметра вашего действия.
Вероятно, ваш код должен выглядеть примерно так:
public static void maak() {
Ploeg ploeg = new Ploeg();
ploeg.save();
}
РЕДАКТИРОВАТЬ
Я изменил его так, и это работает. Только когда я пытаюсь удалить ploeg, он не удаляет его, а создает новый. Этот новый ploeg не имеет имени, но он вставлен в мою таблицу.
public static void maak(Ploeg ploeg) {
ploeg = new Ploeg();
ploeg.save();
}