我有一个在__construct函数上生成的具有自定义id(即UUID)的实体。Symfony2:Sonata实体中的自定义标识符
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”的任何值都失败。
任何人都知道如何解决它?另一种类似的方法来解决问题?
你能展示一些代码来澄清你的意思吗? – Kmeixner 2015-01-26 21:42:45
我编辑了这个问题。 – 2015-01-26 22:03:05