如何在 Symfony 中为每个实体创建一个删除按钮


How can I create a delete button for each entity in Symfony?

我正在使用Symfony 2框架创建一个简单的后期系统。我希望页面显示从数据库中获取的DiscussionPost实体的列表。对于每个帖子,我想呈现一个小的删除按钮,该按钮将删除相应的帖子,如果User字段与当前登录的用户匹配,则将删除内容保存到数据库中。

这是DiscussionPost的实体文件。

<?php
namespace AppBundle'Entity;
use Doctrine'ORM'Mapping as ORM;
/**
* @ORM'Entity
* @ORM'Table(name="discussion_post")
*/
class DiscussionPost
{
    /**
    * @ORM'Id
    * @ORM'Column(type="integer")
    * @ORM'GeneratedValue(strategy="AUTO")
    */
    protected $id;
    /**
    * @ORM'ManyToOne(targetEntity="User")
    */
    protected $user;
    /**
    * @ORM'Column(type="string", length=140, nullable=false)
    */
    protected $text;
    /**
    * @ORM'Column(type="datetime", nullable=false)
    */
    protected $postTime;
// getters and setters...

我已经看过Symfony Cookbook中的表单集合文章:

如何嵌入表单集合

但是,此示例适用于多个任务,每个任务都有一个可以修改的标签列表。我的情况更类似于需要修改的任务列表。

我还计划在帖子列表下方有一个表单,用于添加新帖子并将其保存到数据库中。

为模板中的每条记录添加一个删除表单,在隐藏字段中只包含按钮和 id,并使用 jQuery 从页面和 AJAX 中删除该项目,这样您就不必每次都重新加载页面。