| Current Path : /var/www/v3.cesa.co.za/src/ContentBundle/Repository/ |
| Current File : /var/www/v3.cesa.co.za/src/ContentBundle/Repository/FormItemRepository.php |
<?php
namespace App\ContentBundle\Repository;
use App\ContentBundle\Entity\FormItem;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
use App\ContentBundle\Entity\Form;
/**
* @extends ServiceEntityRepository<FormItem>
*
* @method FormItem|null find($id, $lockMode = null, $lockVersion = null)
* @method FormItem|null findOneBy(array $criteria, array $orderBy = null)
* @method FormItem[] findAll()
* @method FormItem[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class FormItemRepository extends ServiceEntityRepository {
public function __construct(ManagerRegistry $registry) {
parent::__construct($registry, FormItem::class);
}
/**
* Get form items by form
*
* @param Form $form
* @return array
*/
public function findByForm(Form $form) {
$qb = $this->createQueryBuilder('fi')
->join('fi.forms', 'fif')
->join('fif.form', 'fo')
->where('fo.id = :formId')->setParameter('formId', $form->getId())
->addOrderBy('fif.order_by')
;
return $qb->getQuery()->execute();
}
/**
* Get form items by form
*
* @param string $formId
* @return array
*/
public function getOtherFormItems($formId = '') {
$qb = $this->createQueryBuilder('fi');
if (strlen($formId) > 0) {
$qb->join('fi.forms', 'fif')
->join('fif.form', 'fo')
->where('fo.id != :formId')->setParameter('formId', $formId)
;
}
$qb->addOrderBy('fi.prompt');
return $qb->getQuery()->execute();
}
}