下拉列表不显示文章的类别

高手

我正在用 symfony 建立一个网站。我正在尝试获取一个页面来显示带有嵌套对象的表单。一个 Artikel 只能有一个类别。有许多artikels和许多类别。

/**
 * Artikel
 *
 * @ORM\Table(name="artikel", indexes=
    {@ORM\Index(name="IDX_A4375C338C9B60D8", columns={"idartikeltype"})})
 * @ORM\Entity
 */
class Artikel
{
....
/**
 * @ORM\Column(type="integer")
 *
 */
private $idartikeltype;

/**
 * @var ArtikelCategory
 * @ORM\ManyToOne(targetEntity="AppBundle\Entity\ArtikelCategory"
   ,inversedBy="type")
 * @ORM\JoinColumn(name="idartikeltype", 
   referencedColumnName="idartikeltype")
 */
private $category;

/**
 * @var integer
 *
 * @ORM\Column(name="idArtikel", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $idartikel;

......

我的课堂 ArtikelCategory

class ArtikelCategory
{
/**
 * @var string
 * /**
 * @ORM\OneToMany(targetEntity="AppBundle\Entity\Artikel", 
mappedBy="category",cascade={ALL})
 *
 * @ORM\Column(name="type", type="string", length=45, nullable=false)
 */
private $type;

/**
 * @var integer
 *
 * @ORM\Column(name="idartikeltype", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $idartikeltype;

/**
 * @return string
 */
public function getType()
{
    return $this->type;
}

/**
 * @param string $type
 */
public function setType($type)
{
    $this->type = $type;
}

/**
 * @return int
 */
public function getIdartikeltype()
{
    return $this->idartikeltype;
}

/**
 * @param int $idartikeltype
 */
public function setIdartikeltype($idartikeltype)
{
    $this->idartikeltype = $idartikeltype;
}

public function __toString() {

    return $this->getType()
        ;


}


public function __construct(){
    $this->type = new ArrayCollection();
}
}

文章类型

public function buildForm
( FormBuilderInterface $builder , array 
    $options 
        )
        {
           $builder
        ->add ('titel', TextType::class,array('label'=>'Titel'))

        ->add('datum',DateType::class,array('label'=>'Date'))

        ->add('category' , 

  EntityType::class,array
('class'=>\AppBundle\Entity\ArtikelCategory::class,'label'=>'Page',
            'query_builder'=>function(EntityRepository $er){ return $er-
>createQueryBuilder('t')->orderBy('t.type','ASC');}


        ))

        ->add('tekst',CKEditorType::class,array('label'=>'Text'))

        ->add('save',SubmitType::class,array('label'=>'Save item'))
        ;



}

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array('data_class'=>'AppBundle\Entity\Artikel',));
} 

输入控制器

$item = $this-> getDoctrine()->getRepository(Artikel::class)->find($id);


    $form = $this->createForm(ArtikelType::class, $item);

    $form->handleRequest($request);

    if($form->isSubmitted() && $form -> isValid())
    {


        $em= $this->getDoctrine()->getManager();

        $em->persist($item);
        $em->flush();
       return $this->redirectToRoute('input');

    }

    return $this->render('input/input.html.twig', array('form'=>$form->createView(),));

通常,下拉列表应显示数据库中的 artikel 类别,但...

...在我的表单中,下拉列表没有显示 artikel 的类别,当我坚持 artikel 时,不会保存新类别。

想不通这个!帮助。

高手

Mea Culpa,当我阅读Association Mapping 时,它让我思考。现在我知道我正在使用多对一单向关联。剩下的就是小菜一碟了......

谢谢。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章