我有一个实体类,如下所示:
<?php
namespace Entities;
/** @Entity @Table(name="User") */
class User
{
/**
* @Id
* @Column(type="string", length=12)
*/
private $no;
基于原则 2 标识符生成策略部分:
无:告诉教义
标识符被分配(因此
由您的代码生成)。这
分配必须在
新实体被传递到
EntityManager#persist。无是
与省略相同
完全@GenerateValue。
这意味着,我需要一种方法,以便我可以在调用 persist 之前设置该值。
Calling ./doctrine orm:generate-entities
不会生成setter函数,我必须在类中手动编写它吗?
/**
* Set no
*
* @param string $no
*/
public function setNo($no)
{
$this->no = $no;
}
这是正确的方法吗?
没有“正确”的方法可以做到这一点。生成实体命令只是一个帮助器。没有什么是你必须使用的。你可以随心所欲。
指定策略的唯一要求是,调用 $em->persist() 时 id 字段必须为非空。
例如,在分配 ID 的情况下,将其作为构造函数中的必需参数是有意义的:
class User
{
private $no;
public function __construct($no)
{
$this->no = $no;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)