Symfony 2.4 アプリケーションで Doctrine からスラッグを自動生成したいと考えています。このスラッグは、レコードが作成された年に基づいて一意です。DoctrineExtensions を使用しています。
私のブログの記録では、ルートを/blog/{year}/{slug}
だから私はこれらの2つのレコードを持っているとしましょう
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
my-blog-title
createdAt に基づく一意のレコードであるため、両方のスラッグを にしたい
したがって、私の2つのルートは次のようになります
/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 がすべてのレコードに対して一意であるため、私のレコードのいずれか 2 つがまったく同じ作成日を持つことはほとんど不可能であるため、機能します。
したがって、3 番目のレコードを追加すると:
id: 3
title: My Blog Title
createdAt: 2014-03-02 17:12:10
同じスラッグを使用できます-my-blog-title
私のorm.ymlファイルで、次のようなことができるようにしたい
unique_base: createdAt("Y")
そのため、作成した日付の年のみがベースとして使用されるため、レコードが異なる年にある場合は同じスラッグを持つことができますが、レコードが同じ年にある場合は同じスラッグを持つことはできません。
ナメクジ自体に日付を取り込むことができることを知っています
2014-my-blog-title
しかし、それは次のように見える必要があります2014/my-blog-title
誰かがこれを手伝ってくれませんか?
どうもありがとう!!!