在实体ID / UUID

时间:2019-03-26 14:43:07

标签: php database laravel doctrine

是否存在任何将实体类型/表名称嵌入id字段的已知方法?

基本上,我们正在寻找的是创建通用终结点,您可以在其中查询类似https://api.mysite.com/duplicate/1234之类的内容,而后端将能够从id中确定实体是什么。这只是一个用例,如果需要,我还可以扩展其他几个用例。

以Facebook为例,我可以访问https://facebook.com/<postId>,它会将我定向到某个帖子,而做https://facebook.com/<pageId>则会使我进入页面。我们正在寻找与此类似的功能。

我们考虑过要尝试的几件事:

  1. 使用UUID,用实体/表名称sha1'd的子字符串替换前8个字符。然后将sha1映射到实体名称。

  2. 使用表继承,并使我们所有的实体扩展某些基础对象。 (这将是一个巨大的重构,因此我们宁愿不这样做,因为某些实体的需求与其他实体的需求有所不同)。

有没有更好的方法/最佳实践来实现这一目标?

0 个答案:

没有答案