php doctrine,PHP和Doctrine:如何创建唯一ID
所以,混合@Jakub Matczak建议的answer by @Matteo和answer by psyloss我想出了这个:
class Company
{
/**
* @var string
*
* @ORM\Column(name="id", type="string")
* @ORM\Id
* @ORM\GeneratedValue(strategy="CUSTOM")
* @ORM\CustomIdGenerator(class="AppBundle\Doctrine\IdGenerator")
*/
private $id;
...
然后
namespace AppBundle\Doctrine;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Id\AbstractIdGenerator;
use Ramsey\Uuid\Uuid;
/**
* {@inheritdoc}
*/
class IdGenerator extends AbstractIdGenerator
{
/**
* {@inheritdoc}
*/
public function generate(EntityManager $em, $entity)
{
$uuid = Uuid::uuid4()->getHex();
if (null !== $em->getRepository(get_class($entity))->findOneBy(['id' => $uuid])) {
$uuid = $this->generate($em, $entity);
}
return $uuid;
}
}
此生成器还检查具有相同名称的现有实体,如果需要,重新生成UUID并保证唯一性.
生成的值正是我想要的:7b165049eb224f548021f68caefc57f6.
php doctrine,PHP和Doctrine:如何创建唯一ID相关推荐
- java creat uid_关于uniqueidentifier:如何在Java中创建唯一ID?
本问题已经有最佳答案,请猛点这里访问. 我正在寻找在Java中创建唯一ID作为String的最佳方法. 任何指导表示赞赏,谢谢. 我应该提到我正在使用Java 5. 看看这个stackoverflow ...
- php 自增,php 根据自增id创建唯一编号类
在开发过程中,我们数据表一般都使用自增数字作为id主键,而id是数字型,不容易理解.我们把id按一定格式转为编号后,很容易根据编号知道代表的是什么内容. 例如订单表id=201601111976812 ...
- mysql 唯一索引出现重复数据_MySQL 创建唯一索引忽略对已经重复数据的检查
MySQL 创建唯一索引忽略对已经重复数据的检查 在创建唯一索引的基础上加上关键字"IGNORE "即可. # 重复数据 mysql> select aid,count(ai ...
- SQLServer之创建唯一聚集索引
创建唯一聚集索引典型实现 唯一索引可通过以下方式实现: PRIMARY KEY 或 UNIQUE 约束 在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动 ...
- mysql中创建唯一索引的关键字_mysql中唯一索引的关键字是什么
mysql中唯一索引的关键字是unique index.创建唯一索引可以避免数据出现重复.唯一索引可以有多个,但索引列的值必须唯一,索引列的值允许有空值.创建唯一索引可以使用关键字UNIQUE随表一同 ...
- Magento 创建唯一优惠券 Create unique coupon code in Magento
Toni from ICG wrote a post how to create simple A/B split testing for offline promotions for online ...
- sql语句创建唯一索引
使用sql语句创建唯一索引,格式如下: create unique index 索引名 on 表名(列名1,列名2--) 示例:在表GoodsMade_Labour的SID列上创建唯一索引IX_Goo ...
- mysql 创建唯一索引_Mysql普通索引和唯一索引的选择分析
假设一个用户管理系统,每个人注册都有一个唯一的手机号,而且业务代码已经保证了不会写入两个重复的手机号.如果用户管理系统需要按照手机号查姓名,就会执行类似这样的 SQL 语句: select name ...
- Sql Server 创建唯一聚集索引典型实现
创建唯一聚集索引典型实现 唯一索引可通过以下方式实现: PRIMARY KEY 或 UNIQUE 约束 在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动 ...
- SQLServer之创建唯一非聚集索引
创建唯一非聚集索引典型实现 唯一索引可通过以下方式实现: PRIMARY KEY 或 UNIQUE 约束 在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自 ...
最新文章
- 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATI
- 软件系统架构师成长之路(一)
- 从CMOS到触发器(一)
- VTK:可视化算法之HeadBone
- jmeter性能指标
- PyTorch框架学习十三——优化器
- 颜色表大全 颜色中英文对照表
- 监督学习-分类模型1-线性分类器(Linear Classifiers)
- C语言如何生成随机数
- 世界时钟-国家中英文名称-国家代码-与北京的时差 一览
- 努比亚计科学计算机,努比亚Z系列迎来迭代新机,Geekbench跑分出炉,预计春节后发布...
- 用js企业微信推送通知
- python str怎么用_python的str函数怎么使用
- 基于51单片机的4位竞赛抢答器的设计
- Java分布式中文分词组件 - word分词
- 参考文献是会议论文应该什么格式?
- 戴尔EMC服务器重装系统
- 【信号采集】基于FPGA的高速信号采集系统
- 从零开始做3D地图编辑器(基于QT与OGRE)
- 垂直同步、绘制效率、显示器刷新频率与帧率(转)