Stofdoctrineextensionsbundle softdelete-как его использовать?
мой босс установил этот пакет для фильтра softdelete, но документация выходит негусто. Как использовать это в запросах на удаление?
2 ответов
включить его в свой config:
stof_doctrine_extensions:
orm:
default:
...
softdeleteable: true
doctrine:
...
orm:
filters:
softdeleteable:
class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
enabled: true
тогда в вашей сущности:
<?php
namespace Foo\BarBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* ...
* @Gedmo\SoftDeleteable(fieldName="deletedAt")
* @ORM\Entity
*/
class Foo
{
/**
* @var \DateTime $deletedAt
*
* @ORM\Column(name="deleted_at", type="datetime", nullable=true)
*/
private $deletedAt;
затем просто удалите объекты, как обычно (расширение позаботится об остальном):
$em = $this->getDoctrine()->getManager();
$em->remove($entity);
$em->flush();
мне также нужна была другая часть головоломки: доктрина yaml config:
ANWISBundle\Entity\Adresse:
type: entity
table: adresse
gedmo:
soft_deleteable:
field_name: deleted_at
time_aware: false
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
ort:
type: string
length: 100
plz:
type: string
columnDefinition: varchar(255) NOT NULL DEFAULT ''
deleted_at:
type: datetime
nullable: true