Я строю формы в Symfony 2. Я обновляю сайт, где я нашел, что я Обязательное сделал новый:Пустой EntityManager QueryBuilder ошибка
public function buildForm(FormBuilderInterface $builder, array $options){
в новом файле.
Теперь я продублировал существующий файл формообразователя, который работает. (Ofcours я изменил параметры и значения). Это то, что функция общественного formbuilder выглядит следующим образом:
SerialNumberType.php
public function buildForm(FormBuilderInterface $builder, array $options){
$query = $this->em->createQueryBuilder();
$query->select('*')
->from('AppBundle:SerialNumber', 'sn');
$serialnumbers = $query->getQuery()->getResult();
$options = array();
foreach($serialnumbers as $serialnumber){
$options[$serialnumber['id']] = $serialnumber['id'];
$options[$serialnumber['product_revision_id']] = $serialnumber['product_revision_id'];
$options[$serialnumber['booking_id']] = $serialnumber['booking_id'];
$options[$serialnumber['serial_nr']] = $serialnumber['serial_nr'];
}
$builder->add("serial_nr", "text", array("label" => "Serienummer"));
}
эм создается над formbuilder и выглядит следующим образом:
/**
* @var EntityManager $em
*/
protected $em;
public function __construct($em) {
$this->em = $em;
}
Я действительно использовал это:
use Doctrine\ORM\EntityManager;
Теперь, когда я попытался запросить функцию ион buildForm
Я получил эту ошибку:
Error: Call to a member function createQueryBuilder() on null" at mypath/SerialNumberType.php line 20
Линия 20 представляет эту часть SerialNumberType.php:
$query = $this->em->createQueryBuilder();
Я понятия не имею, почему это происходит. Это то же самое, что и у моих других разработчиков форм.
Посмотрите на «Контроллер», который использует форму, которую вы скопировали. Вы должны увидеть, что 'em' передается там в качестве аргумента. Если это так, сделайте то же самое и в другом контроллере. – Artamiel
Вам необходимо объявить свой класс и его требования в конфигурации контейнерного сервиса – Calimero
Я нашел его thnx для вас @Artamiel. Мне нужно было отправить значение с запросом formbuilder! Если вы ответите на этот вопрос, я могу принять его. – yesbe97