/** * Form builder * * @param FormBuilderInterface $builder * @param array $options * * @return null */ public function buildForm(FormBuilderInterface $builder, array $options) { $this->folder = $options['folder']; if (null == $this->folder) { $builder->add('folder', EntityType::class, array('label' => 'BiDoc.folder.label', 'class' => 'AcfDataBundle:BiFolder', 'query_builder' => function (BiFolderRepository $br) { return $br->createQueryBuilder('c')->orderBy('c.title', 'ASC'); }, 'choice_label' => 'title', 'multiple' => false, 'by_reference' => true, 'required' => true)); } else { $folderId = $this->folder->getId(); $builder->add('folder', EntityidType::class, array('label' => 'BiDoc.folder.label', 'class' => 'AcfDataBundle:BiFolder', 'query_builder' => function (BiFolderRepository $br) use($folderId) { return $br->createQueryBuilder('c')->where('c.id = :id')->setParameter('id', $folderId)->orderBy('c.title', 'ASC'); }, 'choice_label' => 'id', 'multiple' => false, 'by_reference' => true, 'required' => true)); } $builder->add('fileName', FileType::class, array('label' => 'BiDoc.fileName.label')); $builder->add('title', TextType::class, array('label' => 'BiDoc.title.label')); $builder->add('description', TextareaType::class, array('label' => 'BiDoc.description.label', 'required' => false)); }
/** * Get Query for All Entities * * @param BiFolder $f * * @return \Doctrine\ORM\Query */ public function getAllByFolderQuery(BiFolder $f) { $qb = $this->createQueryBuilder('b')->join('b.folder', 'f')->where('f.id = :id')->orderBy('b.title', 'ASC')->setParameter('id', $f->getId()); $query = $qb->getQuery(); return $query; }
/** * Get Query for All Entities * * @param BiFolder $dg * * @return \Doctrine\ORM\Query */ public function getAllChildsQuery(BiFolder $dg) { $qb = $this->createQueryBuilder('d')->where('d.pageUrlFull LIKE :url')->andWhere('d.id != :did')->orderBy('d.pageUrlFull', 'ASC')->setParameter('url', $dg->getPageUrlFull() . '%')->setParameter('did', $dg->getId()); $query = $qb->getQuery(); return $query; }