<?php
namespace App\Twig;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
use Doctrine\Persistence\ManagerRegistry;
class FindByWithAssociationsExtension extends AbstractExtension
{
private $em;
public function __construct(ManagerRegistry $doctrine)
{
$this->doctrine = $doctrine;
}
public function getFunctions()
{
return [
new TwigFunction('findByWithAssociations', [$this, 'execute']),
];
}
public function execute($className, $filters=[])
{
$em = $this->doctrine->getManager();
$rp = $em->getRepository($className);
return $rp->findByWithAssociations($filters);
}
}