我已经搜索了一段时间,但找不到明确的答案。
我需要在Symfony CRM中的FormType的__construct
函数中编写查询,但是当我尝试在EntityRepository
参数中传递__construct
类时,我得到以下内容错误:
参数1传递给AppBundle \ Form \ CampAttendeeAddType :: __ construct() 必须是Doctrine \ ORM \ EntityRepository的实例,没有给出
这是我的代码:
use \Doctrine\ORM\EntityRepository;
class CampAttendeeAddType extends AbstractType
{
public function __construct(EntityRepository $er)
{
$camp_id = $_GET['id'];
$query = $er->createQuery('
SELECT COUNT(*) FROM AppBundle:CampAttendee ca WHERE ca.nonRider = 1 AND ca.campId = ' . $camp_id);
$non_riders = $query->getOneOrNullResult();
}
...
我也尝试在函数中明确声明它:
$er = new EntityRepository();
但我得到的只是:
缺少Doctrine \ ORM \ EntityRepository :: __ construct()
的参数1
似乎我无法获胜!
我需要能够确定传递给以下字段的选项:
$builder->add('non_rider', ChoiceType::class,
array(
'label' => 'Is Non-Rider',
'required' => true,
'placeholder' => '-- Please select --',
'choices' => array(
'Yes' => 1,
'No' => 0
),
'label_attr' => array(
'class' => 'control-label'
),
'attr' => array(
'class' => 'form-control required'
)
));
一旦达到限制,“是”'选择需要被禁用的笔记取代,该笔记读取的内容类似于“你已经达到了极限”。所以不能再添加了。
这是可能的,如果是这样的话怎么办?