douao7937 2019-03-05 17:40
浏览 19

DoctrineExtension,sluggable:在持久化之前检索未来的slug名称

I'm using Gedmo\Mapping\Annotation\Slug to generate a slug for a Symfony entity. This slug property is defined as unique:

/**
 * @Gedmo\Slug(fields={"type"})
 * @ORM\Column(type="string", length=255, unique=true)
 */
private $slug;

I would like to be able to retrieve the generated slug string before persisting, in order to handle unicity errors correctly.

Of course I could catch exceptions throwed by the persist() method, but it's not a good solution for other reasons.

To be concise, I took an example from the doc, and added what is missing for my needs (with pseudo-code):

<?php
$article = new Article();
$article->setTitle('the title');
$article->setCode('my code');
// What I need is the 'getUpdatedSlugName()' function:
if (getUpdatedSlugName($article) [already exists]) {
    throw new MyException("Sorry, this article name/slug already exists!");
}
$this->em->persist($article);
$this->em->flush();
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 keil的map文件中Image component sizes各项意思
    • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
    • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
    • ¥15 划分vlan后,链路不通了?
    • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
    • ¥15 Vue3 大型图片数据拖动排序
    • ¥15 Centos / PETGEM
    • ¥15 划分vlan后不通了
    • ¥20 用雷电模拟器安装百达屋apk一直闪退
    • ¥15 算能科技20240506咨询(拒绝大模型回答)