Estou tentando fazer o select com os dados do banco mas recebo o seguinte erro
Fatal error: Uncaught Error: Access to undeclared static property: PhpParser\Autoloader::$loader
public function cadastrarAction(){
if(!$this->identity()){
return $this->redirect()->toUrl("/Usuario/Index");
}
$entityManager = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
$form = new ProdutoForm($entityManager);
if($this->request->isPost()){
$nome = $this->request->getPost('nome');
$preco = $this->request->getPost('preco');
$descricao = $this->request->getPost('descricao');
$produto = new Produto($nome, $preco, $descricao);
$form->setInputFilter($produto->getInputFilter());
$form->setData($this->request->getPost());
if($form->isValid()){
$entityManager->persist($produto);
$entityManager->flush();
return $this->redirect()->toUrl('/Index/Index');
}
}
return new ViewModel(['form' => $form]);
}
<?
namespace Estoque\Form;
use Zend\Form\Form;
use Zend\Form\Element;
use Doctrine\ORM\EntityManager;
class ProdutoForm extends Form{
public function __construct(EntityManager $entityManager){
parent::__construct('formProduto');
// campo nome
$this->add([
'type' => 'text',
'name' => 'nome',
'attributes' => [
'class' => 'form-control'
]
]);
// campo preço
$this->add([
'type' => 'number',
'name' => 'preco',
'attributes' => [
'class' => 'form-control'
]
]);
// campo descricao
$this->add([
'type' => 'Textarea',
'name' => 'descricao',
'attributes' => [
'class' => 'form-control'
]
]);
$this->add(new Element\Csrf('csrf'));
$this->add([
'type' => 'DoctrineModule\Form\Element\ObjectSelect',
'name' => 'categoria',
'options' => [
'object_manager' => $entityManager,
'target_class' => 'Estoque\Entity\Categoria',
'property' => 'nome',
'empty_option' => 'escolha uma categoria'
],
'attributes' => [
'class' => 'form-control'
]
]);
}
}
?>
<h1>Cadastrar Produto</h1>
<? echo $this->form()->openTag($form); ?>
<div class='form-group'>
<label>
<span>Nome</span>
</label>
<?
echo $this->formInput($form->get('nome'));
echo $this->formElementErrors()->render($form->get('nome'));
?>
</div>
<div class='form-group'>
<label>
<span>Preço</span>
</label>
<? echo $this->formInput($form->get('preco')); ?>
</div>
<div class='form-group'>
<label>
<span>Categoria</span>
</label>
<? echo $this->formSelect($form->get('categoria')); ?>
</div>
<div class='form-group'>
<label>
<span>Descrição</span>
</label>
<? echo $this->formTextarea($form->get('descricao')); ?>
</div>
<?
echo $this->formRow($form->get('csrf'));
?>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Cadastrar" />
</div>
<? echo $this->form()->closeTag(); ?>