/** * Form builder * * @param FormBuilderInterface $builder * @param array $options * * @return null */ public function buildForm(FormBuilderInterface $builder, array $options) { $this->invoice = $options['invoice']; if (null == $this->invoice) { $builder->add('invoice', EntityType::class, array('label' => 'InvoiceDocument.invoice.label', 'class' => 'AcfDataBundle:OnlineInvoice', 'query_builder' => function (OnlineInvoiceRepository $ir) { return $ir->createQueryBuilder('i')->orderBy('i.dtCrea', 'ASC'); }, 'choice_label' => 'ref', 'multiple' => false, 'by_reference' => true, 'required' => true)); } else { $invoiceId = $this->invoice->getId(); $builder->add('invoice', EntityidType::class, array('label' => 'InvoiceDocument.invoice.label', 'class' => 'AcfDataBundle:OnlineInvoice', 'query_builder' => function (OnlineInvoiceRepository $br) use($invoiceId) { return $br->createQueryBuilder('i')->where('i.id = :id')->setParameter('id', $invoiceId)->orderBy('i.dtCrea', 'ASC'); }, 'choice_label' => 'id', 'multiple' => false, 'by_reference' => true, 'required' => true)); } $builder->add('fileName', FileType::class, array('label' => 'InvoiceDocument.fileName.label')); }
/** * Get Query for All Entities * * @return \Doctrine\ORM\Query */ public function getAllByInvoiceQuery(OnlineInvoice $invoice) { $qb = $this->createQueryBuilder('p')->join('p.invoice', 'i')->where('i.id = :id')->setParameter('id', $invoice->getId())->orderBy('p.dtCrea', 'ASC'); $query = $qb->getQuery(); return $query; }
/** * Get Query for All Entities * * @return \Doctrine\ORM\Query */ public function getAllByInvoiceQuery(OnlineInvoice $invoice) { $qb = $this->createQueryBuilder('d')->join('d.invoice', 'i')->where('i.id = :id')->andWhere('d.visible = :visible')->setParameter('id', $invoice->getId())->setParameter('visible', OnlineInvoiceDocument::ST_OK)->orderBy('d.dtCrea', 'ASC'); $query = $qb->getQuery(); return $query; }