Как добавить / сохранить записи в одной строке в базе данных?- Symfony 3 - PullRequest
0 голосов
/ 27 декабря 2018

Я работаю с Symfony 3.4, и я хотел бы позволить пользователю добавлять / редактировать / удалять записи из индекса (где отображаются все записи), вместо того, чтобы нажимать кнопки добавления / редактирования / удаления и открывать новую страницу.Я изучал это, но не могу найти ничего полезного.Я знаю, что мы должны использовать javascript для добавления строк в таблицу, но как я могу использовать форму в строке для выполнения опций crud, а также для изменения базы данных.Не могли бы вы дать мне подсказку?

1 Ответ

0 голосов
/ 27 декабря 2018

у вас есть несколько вопросов; -)

Резюме:

У вас есть список предметов (я буду использовать tasks в моих примерах)

  1. Вы хотите добавить / отредактировать / удалить элементы непосредственно на вашей странице листинга
  2. Вы хотите отобразить элементы в своей базе данных

Существует несколько возможных решений, в зависимости отчто вы используете.

JS-Frontend

Вы можете создать свой список в React / VueJS / независимо от того.

Когда вы добавляете / удаляете / редактируете task, вы запускаетеXHR / AJAX-запрос к вашему API.Вы должны реализовать конечные точки API и использовать их.

например,

GET /api/tasks => вернуть JSON для всех задач

DELETE /api/tasks/7 => удаляет задачу с идентификатором 7

POST /api/tasks => создал новые задачи

PUT /api/tasks/{id} => обновляет задачу с идентификатором.Прикрепите JSON-Body с именем и т. Д.

Формы Symfony

Вы также можете использовать формы Symfony.Вы ищете Тип поля коллекции .

Опции allow_add и allow_delete станут вашими друзьями.

Затем вы можете использовать объекты длясохранить объекты в базе данных.например, используя DoctrineORM или что вы хотите: -)

См. Обработка отправки формы

Но будьте осторожны.Это не подходит для больших списков, так как удалит все элементы из базы данных, которых нет на этой странице.Если вы хотите разбить список на страницы, это не то, что вам нужно.

Мое мнение

Вы хотите разрешить добавление / удаление элементов.Я предполагаю, что вы создаете какое-то Backend-приложение (?).

Я бы порекомендовал JS-решение для простоты.Ваши конечные точки API будут очень просты и просты в настройке.

Формы Symfony могут быть сложными.Если вы хотите пойти по этому пути, я бы рекомендовал вам прочитать это Blog-Post о формах Symfony.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...