Gedmo\Timestampable是一个用于Doctrine ORM的扩展,它可以自动管理实体的创建时间和更新时间。默认情况下,当实体第一次创建时,updated_at字段会被自动设置为当前时间。如果希望在第一次创建时保持updated_at字段为空,可以通过以下步骤实现:
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @ORM\Entity
*/
class YourEntity
{
// ...
/**
* @ORM\Column(type="datetime")
* @Gedmo\Timestampable(on="create")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime")
* @Gedmo\Timestampable(on="update")
*/
private $updatedAt;
// ...
}
@Gedmo\Timestampable(on="create")
注解来标记createdAt字段,在实体第一次创建时,该字段会被自动设置为当前时间。而updatedAt字段使用了@Gedmo\Timestampable(on="update")
注解,每次实体更新时,该字段会被自动更新为当前时间。use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class YourEntity
{
// ...
public function __construct()
{
$this->updatedAt = null;
}
// ...
}
通过上述步骤,当使用Doctrine ORM创建YourEntity实体时,updatedAt字段将保持为空。请注意,这只会影响实体的创建行为,而不会影响更新行为。
领取专属 10元无门槛券
手把手带您无忧上云