add some method for resolving scope in twig

This commit is contained in:
2021-11-09 17:04:49 +01:00
parent 7574b5bfac
commit e7fcebc99e
6 changed files with 71 additions and 43 deletions

View File

@@ -0,0 +1,35 @@
<?php
namespace Chill\PersonBundle\DataFixtures\Helper;
use Chill\PersonBundle\Entity\Person;
use Doctrine\ORM\EntityManagerInterface;
trait RandomPersonHelperTrait
{
private ?int $nbOfPersons = null;
protected function getRandomPerson(EntityManagerInterface $em): Person
{
$qb = $em->createQueryBuilder();
$qb
->from(Person::class, 'p')
;
if (null === $this->nbOfPersons) {
$this->nbOfPersons = $qb
->select('COUNT(p)')
->getQuery()
->getSingleScalarResult()
;
}
return $qb
->select('p')
->setMaxResults(1)
->setFirstResult(\random_int(0, $this->nbOfPersons))
->getQuery()
->getSingleResult()
;
}
}

View File

@@ -149,9 +149,17 @@
{% endif %}
</li>
{% if options['addCenter'] and person|chill_resolve_center is not null %}
{% if person|chill_resolve_center is iterable %}
{% set centers = person|chill_resolve_center %}
{% else %}
{% set centers = [ person|chill_resolve_center ] %}
{% endif %}
<li>
<i class="fa fa-li fa-long-arrow-right"></i>
{{ person|chill_resolve_center.name }}
{% for c in centers %}
{{ c.name|upper }}
{% if not loop.last %}, {% endif %}
{% endfor %}
</li>
{% endif %}
</ul>