有没有办法处理重复的条目?

问题描述 投票:0回答:1

我正在使用带有MySQL后端的api-platform框架。如果数据库中已存在条目,则API客户端使用POST端点提交数据时会出现错误。

目前我正在使用PRE_WRITE EventSubscriberInterface类来查找原始数据库条目并将其删除。然而,与简单的更新操作相比,这看起来效率极低。

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

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

php symfony api-platform.com
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.