我有一个在 __construct 函数上生成的具有自定义 ID(即 UUID)的实体。
namespace AppBundle\Entity;
use Rhumsaa\Uuid\Uuid;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class Person
{
/**
* @ORM\Id
* @ORM\Column(type="string")
*/
private $id;
/**
* @ORM\Column(type="string")
*/
private $name;
public function __construct()
{
$this->id = Uuid::uuid4()->toString();
}
该实体用于奏鸣曲以及项目的其他部分。在持久化和刷新它之前,我需要这个实体有 id,所以我不能使用自动增量。
所以,问题是奏鸣曲不要让我创建实体,因为它需要创建选项并在执行时进行编辑,因为该实体已经有一个 id,但这个实体目前不存在,所以它失败了。
问题不在于生成 UUID 的库,'id' 的任何值都失败。
有谁知道如何解决它?解决问题的另一种类似方法?