1

我无法在 Symfony2 中获取公式,我想在数组集合中排除某些值 - 或者我不得不说我不知道​​如何(在哪里排除它们)。

这是我的 newTag 操作:

public function newTagAction()
{
    $tag = new Tag();
    $form = $this->createForm(new tagType(), $tag);
    return $this->render('MyMyBundle:Admin:newTag.html.twig', array('form' => $form->createView()));

}

和 Tag.php 实体,它与 Movie 具有 ManyToOne 关系,反之亦然(Movie->Tag = OneToMany):

class Tag
{

/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;

/**
* @ORM\Column(type="string")
*/
protected $name;

/**
 * @ORM\ManyToOne(targetEntity="Movie", inversedBy="videotags")
 * @ORM\JoinColumn(name="movie_id", referencedColumnName="id")
 */
protected $movie;

// ...

在 TagType.php 表单中它说:

class TagType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
    $builder
        ->add('name')
        ->add('movie') // This is where certain movies should be excluded, it displays an array collection of all movies 
    ;
}

任何帮助表示赞赏!

谢谢!

4

1 回答 1

3

您可以使用自定义查询来仅获得您想要的结果。

文档中对此进行了解释。这是一个简单的例子:

$builder->add('movie', 'entity', array(
    'class' => 'MyMovieBundle:Movie',
    'query_builder' => function(EntityRepository $er) {
        return $er->createQueryBuilder('u')
            ->where('u.name = ?1');
    },
));
于 2012-03-21T18:17:51.703 回答