Nettrine Extensions – neaplikuje se filtr
- Phalanx
- Člen | 310
Ahoj, ještě bych Vás chtěl poprosit o radu se SoftDeleteable s Nettrine Extensions.
Snažím se aktivovat filtr (pro příklad jen v presenteru):
<?php
$this->em->getFilters()->enable("softDeleteable");
?>
Ale stejně mi to vyhazuje chybu:
Filter ‚softDeleteable‘ does not exist
SoftDeleteable v configu mám nastavené na on
a záznam se
smazal správně. Bohužel se ale neuplatňují filtry při výběru dat např.
findAll() nebo find($id) mi vyhodí vždy všechny záznamy (i ty
smazané).
<?php
public function renderDefault()
{
$this->em->getFilters()->enable("softDeleteable"); // hází Filter 'softDeleteable' does not exist, zkoušel jsem i s pomlčkou a malými písmeny
//$this->em->getFilters()->enable('softdeleteable');
$categoryRepository = $this->em->getRepository(Category::class);
//$this->em->remove($categoryRepository->find(1));
//$this->em->flush();
$this->template->test = $categoryRepository->findAll();
}
?>
extensions:
# Console
console: Contributte\Console\DI\ConsoleExtension(%consoleMode%)
# DBAL
dbal: Nettrine\DBAL\DI\DbalExtension
dbal.console: Nettrine\DBAL\DI\DbalConsoleExtension
# ORM
orm: Nettrine\ORM\DI\OrmExtension
#orm.cache: Nettrine\ORM\DI\OrmCacheExtension
orm.console: Nettrine\ORM\DI\OrmConsoleExtension
orm.annotations: Nettrine\ORM\DI\OrmAnnotationsExtension
# extensions
nettrine.extensions: Nettrine\Extensions\DI\DoctrineExtensionsExtension
nettrine.extensions:
softDeleteable: on
Už na to hledím několik hodin a nevím si rady.
edit 2: vzdávám to
Editoval Phalanx (12. 12. 2018 8:48)
- Phalanx
- Člen | 310
@Martk Opět díky za navedení, funkční řešení je
<?php
$config = $this->em->getConfiguration();
$config->addFilter('soft-deleteable', SoftDeleteableFilter::class);
$this->em->getFilters()->enable('soft-deleteable');
?>
do config.neon asi zatím možnost nastavení filtrů není přidána:
<?php
final class OrmExtension extends CompilerExtension
{
/** @var mixed[] */
private $defaults = [
'entityManagerDecoratorClass' => EntityManagerDecorator::class,
'configuration' => [
'proxyDir' => '%tempDir%/proxies',
// ...
//TODO filters
// ...
],
];
?>
Takže by pak mohlo jít jen:
orm:
configuration:
filters:
softdeleteable:
class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
enabled: true