我有自己的实体
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="position", type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $position;
Id是主键,但我会按位置对数组进行排序。我想在排序或上下移动时让函数交换2个项目。
如何创建一个构造函数来递增我自动创建的每个新对象?
我试过了:
/**
* Constructor
*/
public function __construct()
{
$this->position = $this->id+1;
}
但是在持久化对象之后分配了Id,因此每个位置都设置为1.我是否需要使用生命周期回调?
答案 0 :(得分:0)
生命周期回调可以用来做你想做的事情,但你必须要知道,如果你在刷新数据库后修改一个实体,你将不得不再次刷新以保存新信息。