有没有办法处理重复的肠子?

时间:2019-04-28 10:58:11

标签: php symfony api-platform.com

我正在将api平台框架与MySQL后端一起使用。如果数据库中已有条目,则API客户端使用POST端点提交数据时会出现错误。

当前,我正在使用PRE_WRITE EventSubscriberInterface类查找原始数据库条目并将其删除。但是,与简单的更新操作相比,这似乎效率低下。

我能够更新现有的数据库条目,但是我无法删除/阻止执​​行POST的项目。

有没有解决的办法?是将INSERT操作更改为... ON DUPLICATE ...还是简单地停止将用户发布的数据保存到数据库中?

1 个答案:

答案 0 :(得分:0)

您还可以使用属性“ UniqueEntity”设置使您的实体具有唯一性的内容。

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity(repositoryClass="App\Repository\ArticleRepository")
 * @ORM\HasLifecycleCallbacks()
 * @UniqueEntity("slug")
 */
class Article
{
   //...


    /**
     * @ORM\Column(type="string", length=255)
     */
    private $slug;
}