我正在将大量数据拉到本地缓存,我拉的数据是json格式,并且每条记录都有唯一ID。
有没有办法告诉学说使用它作为表的id? 我只是用我的json中的数据来填充这些表,我不会从我的json pull中添加来自其他来源的任何新记录。
是否有可能让学说使用我的json pull中的字段作为主键?。
当我use doctrine:generate:entity
它会自动添加一个id字段,我希望摆脱这个并使用数据拉取中的uniqueID列。 ($ teamKey)
例如,这是我的实体
/**
* Team
*
* @ORM\Table("fp_team)
* @ORM\Entity(repositoryClass="FantasyPro\DataBundle\Entity\TeamRepository")
*/
class Team
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="teamKey", type="string", length=50, nullable=false)
*/
private $teamKey;
/**
more properties ...........
*/
只是删除现有$id
属性并将我的$ teamKey属性修改为:
/**
* @var string
* @ORM\Id
* @ORM\Column(name="teamKey", type="string", length=50, unique=true, nullable=false)
*/
private $teamKey;
它是否比那更复杂或不可能?
是否必须将学说的唯一ID字段称为$id
?
答案 0 :(得分:1)
理论上,它取决于您的数据库。但是,一般来说,任何数据库类型都应该让你设置你想要的任何ID。
因此,您可以随时执行$entity->setId()
,并使用该ID保留它,没有任何问题。