我需要从entityRepository获取实体。 但是在我的formType中,当我调用我的函数queryActivos时,我得到下一个错误:
未定义的方法&queryActivos'。方法名称必须以findBy或findOneBy开头!
这是我在formtype中的字段:
->add('articulosDefectuosos','entity', array(
'empty_value' => 'SELECCIONE ARTICULO DEFECTUOSO',
'class' => 'VentasAlmacenBundle:ArticuloDefectuoso',
'multiple' => true,
'expanded' => false,
'query_builder' => function(EntityRepository $er){
return $er->queryActivos();
},
'attr' => array(
'class' => "browser-default"
)
))
这是实体:
/**
* DevolucionProveedor
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="CeiferIT\VentasAlmacenBundle\Entity\DevolucionProveedorRepository")
*/
class DevolucionProveedor
{
这是我的存储库:
class DevolucionProveedorRepository extends EntityRepository
{
public function queryActivos()
{
$em = $this->getEntityManager();
$query = $em->createQueryBuilder('af')
->where('af.activo = :activo')
->setParameter('activo', true);
return $query;
}
}
答案 0 :(得分:0)
class DevolucionProveedorRepository extends EntityRepository
{
public function findByqueryActivos($yourVariable)
{
$em = $this->getEntityManager();
$query = $em->createQueryBuilder('af')
->where('af.activo = :activo')
->setParameter('activo', true);
return $query;
}
}