- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我面临的问题是我必须在包含所有父实体(类别实体)的表单中创建一个选择框。现在我设法做到了:
$builder->add('parent', 'entity', array(
'class' => 'KprCentarZdravljaBundle:Category',
'query_builder' => function($repository) use ($param, $catID) {
return $repository->createQueryBuilder('p')
->where('p.id != :id AND p.parent = :parent')
->setParameters(array('id' => $param, 'parent' => $catID));},
'property' => 'name',
'required' => false,
'attr' => array('data-placeholder' => '--Izaberite Opciju--'),
));
如你所见,我传递了两个参数,第一个是当前的 category.id(一个类别不能是它自己的父级),第二个是父级 ID,因为我想要那个父级的所有子级。这很好用,但它不会给我 parent 的 child 的 child 。我创建了一个带有返回所有子项的递归函数的 CategoryRepository:
<?php
namespace Kpr\CentarZdravljaBundle\Entity;
use Doctrine\ORM\EntityRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Kpr\CentarZdravljaBundle\Entity\Category;
class CategoryRepository extends EntityRepository
{
public function findByParenting($parent)
{
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->add('select', 'cat')
->add('from', 'KprCentarZdravljaBundle:Category cat')
->add('where', 'cat.parent = :parent')
->setParameter('parent', $parent);
// $qb instanceof QueryBuilder
$query = $qb->getQuery();
$results = $query->getResult();
foreach($results as $result){
if($result->getParent()){
$newResult = $this->findByParenting($result->getId());
$results = array_merge($results, $newResult);
}
}
return $results;
}
}
如何在实体字段中使用 findByParenting($parent) 函数?
最佳答案
我发布了答案:Symfony2 choice field not working .谢谢redbirdo .
关于symfony - 如何在 FormType 中使用 Repository 自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441771/
在Symfony中创建自定义字段时,有一种方法定义了 getParent 我们通过从 AbstractType 类扩展,然后使用 getParent 方法返回父类型来定义我们的类。而不是从父类扩展。
我有一个扩展 AbstractType 的 PostType 表单。在 Controller 中,如果满足某些条件,我想为其添加一个字段。我可以以某种方式执行此操作,还是有其他修改 Controlle
在 Symfony 2.8 中,在自定义表单类型中,是否可以让 setAllowedValues 返回取决于另一个选项的值的结果?没有明显的方法可以访问 Options据我所知,闭包中的对象。 pub
我在 nameType.php 中声明了一个表单, View 呈现所有字段,但我想手动添加另一个字段。 表格: {{ form_widget(form) }} 并获取 Co
我在 Symfony3 中有一个表单,我按照文档初始化它,如下所示: $form=$this->createForm(BookingType::class,$booking); $booking 是一
我有一个带有 1 个 EntityType 字段的表单,该字段必须包含取决于第二个 EntityType 字段的选项,该字段未映射到第一个实体中,如下所示: 服务类型.php : public fun
如何更改 symfony2 formType 类中的默认文本字段大小 最佳答案 你有没有尝试过: $builder->add('your_text_field', 'text', array(
我尝试从由 AbstractType 扩展的 FormType 访问服务。我怎样才能做到这一点? 谢谢! 最佳答案 作为基于先前答案/评论的完整答案: 为了从您的表单类型访问服务,您必须: 1) De
我想从用户那里选择一种问卷类型,所以我设置了一个包含问卷类型的选择。 类型是从实体 QuestionType 加载的。 $builder ->add('questionType',
初看: 我已经用实体制作了这个数据库结构,而不是转储和可视化。 从 phpMyAdmin 添加内容到数据库或显示代码中的数据没有问题,但是当我尝试使用 formtype 构建表单时,例如: 主要形式是
我正在尝试从 FormType 中的当前路由访问参数 page。它适用于 Controller,但不适用于 FormType。我想避免传递像 /?page=1 这样的参数,而更喜欢 /page/1。
我的 Symfony2 FormType 中有一个 onPreSubmit。 public function onPreSubmit(FormEvent $event) { $data = $
我对 Symfony FormType 测试有疑问。 http://symfony.com/doc/current/cookbook/form/unit_testing.html 在我的表单类型中,e
我面临的问题是我必须在包含所有父实体(类别实体)的表单中创建一个选择框。现在我设法做到了: $builder->add('parent', 'entity', array(
我创建了一个这样的自定义表单类型: class PositioningFlashType extends AbstractType {
我正在尝试找到一个最可重用的工作选项,以便能够从 FormType 进行翻译。 我的第一个选择是通过这种方式专门为每个 FormType 声明一个服务: 服务.yml form.enquiry:
我想添加字段 country (字符串) 到我的 Form\Type . country与Entity\Country无关, 并且应该存储国家代码(en, it, fr, ...) 而不是实体的 ID
我在 Symfony 2.8 中遇到了这个问题:我无法通过将查询传递给表单选项来呈现自定义变量。 请参阅下面的代码,我已经尝试过: 这是我的 Controller : $form = $this->c
我正在接受培训,但我在 symfony 3 下 我遇到了这个错误 Expected argument of type "string", "Test\FrontBundle\Form\Type\She
我有一个用户编辑表单,我想在其中管理分配给用户的角色。 目前我有一个多选列表,但我无法使用 security.yml 中定义的角色层次结构填充它。 是否有某种方法可以将此信息传递给 FormType
我是一名优秀的程序员,十分优秀!