Symfony ArrayCollection
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony ArrayCollection相关的知识,希望对你有一定的参考价值。
我有2个实体。Category
和 Article
具有以下关系:
- 每个
Article
有 一Category
. - 每个
Category
可能有 许多Article
.
问题是 :
我想用这个表格添加新的类别。
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class)
->add('submit', SubmitType::class, [
'label' => 'Add a new category'
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Category::class,
]);
}
下面是我输入一个错误的信息。绳子 字段名中的值。
Name Error This value should be of type array|IteratorAggregate.
我从来没有用过 ArrayCollection
的关系,但我试着改变了symfony中的 TextType::class
到 CollectionType::class
它给我一个白色的方块,我不能打任何东西。
在一个更通用的问题: 我怎样才能在表单中验证值而不出现错误。This value should be of type array|IteratorAggregate.
Category
/**
* @ORMId()
* @ORMGeneratedValue()
* @ORMColumn(type="integer")
*/
private $id;
/**
* @ORMColumn(type="string", length=255)
* @AssertUnique(message="Cette catégorie existe déjà")
*/
private $name;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @return mixed
*/
public function getName()
{
return $this->name;
}
/**
* @param $name
* @return Collection|null
*/
public function setName($name): ?Collection
{
return $this->name = $name;
}
文章
/**
* @ORMId()
* @ORMGeneratedValue()
* @ORMColumn(type="integer")
*/
private $id;
/**
* @ORMColumn(type="text")
*/
private $title;
/**
* @ORMColumn(type="text")
*/
private $content;
/**
* @ORMColumn(type="datetime")
*/
private $createdAt;
/**
* @ORMColumn(type="string", nullable=true)
*/
private $image;
/**
* @ORMColumn(type="datetime", nullable=true)
*/
private $editedAt;
/**
* @ORMManyToOne(targetEntity="AppEntityCategory")
*/
private $category;
以上是关于Symfony ArrayCollection的主要内容,如果未能解决你的问题,请参考以下文章
Symfony ArrayCollection 与 PersistentCollection
在 Symfony 中通过 ajax 为 ArrayCollection 数据传递 POST json 对象
Symfony 2,未定义的变量,在构造函数中初始化为 ArrayCollection 的受保护成员通过错误,它是未定义的