我想在我的 Symfony 2.4 应用程序中从 Doctrine 自动生成一个 slug,根据创建记录的年份,该 slug 是唯一的。我正在使用 DoctrineExtensions。
对于我的博客记录,我希望路线是/blog/{year}/{slug}
所以可以说我有这两条记录
id: 1
title: My Blog Title
createdAt: 2013-08-14 18:48:21
id: 2
title: My Blog Title
createdAt: 2014-02-01 17:12:10
我希望两个 slug 都是my-blog-title
,因为它们是基于 createdAt 的唯一记录
所以我的两条路线将是
/blog/2013/my-blog-title
/blog/2014/my-blog-title
但是,我似乎无法让它工作:
这是我的 orm.yml 的相关部分
fields:
title:
type: text
slug:
type: text
gedmo:
slug:
unique_base: createdAt
fields:
- title
createdAt:
type: datetime
gedmo:
timestampable:
on: create
这是可行的,因为 createdAt 对于所有记录都是唯一的,因为我的任何两个记录几乎不可能具有相同的创建日期,直到完全相同的秒。
因此,如果我添加第三条记录:
id: 3
title: My Blog Title
createdAt: 2014-03-02 17:12:10
它让我使用相同的蛞蝓-my-blog-title
在我的 orm.yml 文件中,我希望能够执行类似的操作
unique_base: createdAt("Y")
所以只有我创建日期的年份被用作基础,所以如果记录在不同的年份,我可以有相同的 slug,但如果记录在同一年,则不能有相同的 slug。
我知道我可以把日期拉到蛞蝓本身
2014-my-blog-title
但它需要看起来像2014/my-blog-title
有人可以帮忙吗?
非常感谢!!!