Error : Could not determine access type for property "articlesCategories" in class "Articles"
Error : Could not determine access type for property "articlesCategories" in class "Articles"
我正在使用 Symfony 3.4.7。我使用 3 个链接的实体,文章、类别和文章类别。 ArticlesCategories 是关系 table.
我想添加和编辑文章。我希望我可以添加/编辑文章,因为一篇文章可能有多个类别,反之亦然。我在关系 table 中有特定于关系的属性,这就是我创建关系实体的原因。
这是一篇文章的代码:
/**
* Articles
*
* @ORM\Table(name="articles")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ArticlesRepository")
*/
class Articles
{
/**
* @var string
*
* @ORM\Column(name="code_article", type="string", length=10)
* @ORM\Id
*/
private $codeArticle;
/**
* @var string
*
* @ORM\Column(name="description", type="text", nullable=true)
*/
private $description;
/**
* @var ArticlesCategories
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\ArticlesCategories", mappedBy="codeArticle")
*/
private $articlesCategories;
// getters et setters normaux
...
/**
* Add articlesCategorie
*
* @param ArticlesCategories $articleCategorie
*
* @return Articles
*/
public function addArticlesCategorie(ArticlesCategories $articleCategorie){
$this->articlesCategories[] = $articleCategorie;
$articleCategorie->setCodeArticle($this);
return $this;
}
/**
* remove articlesCategorie
*
* @param ArticlesCategories $articlesCategorie
*/
public function removeArticlesCategorie(ArticlesCategories $articlesCategorie){
$this->articlesCategories->removeElement($articlesCategorie);
}
/**
* Get articlesCategories
*
* @return Collection
*/
public function getArticlesCategories(){
return $this->articlesCategories;
}
public function __toString()
{
return $this->codeArticle;
}
public function __construct()
{
$this->articlesCategories = new ArrayCollection();
}
这是关系 ArticlesCategories 的代码:
/**
* ArticlesCategories
*
* @ORM\Table(name="articles_categories")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ArticlesCategoriesRepository")
*/
class ArticlesCategories
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Articles", inversedBy="articlesCategories")
* @ORM\JoinColumn(referencedColumnName="code_article", nullable=false)
*/
private $codeArticle;
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Categories")
* @ORM\JoinColumn(referencedColumnName="reference", nullable=false)
*/
private $codeCategorie;
/**
* @var string
*
* @ORM\Column(name="critere_rech_1", type="string", length=45, nullable=true)
*/
private $critereRech1;
/**
* @var string
*
* @ORM\Column(name="critere_rech_2", type="string", length=45, nullable=true)
*/
private $critereRech2;
我的实体类别没有任何具体内容。
我自动生成我的实体文章的 crud,然后我编辑 class ArticlesType 以显示我的关系 ArticlesCategories 的所有属性。为此,我使用 CollectionType。
这是我的表单 ArticlesType 的代码:
class ArticlesType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('codeArticle')
->add('description')
->add('ecotaxe')
->add('qteMaxCde')
->add('publication')
->add('designation')
->add('taxonomie')
->add('referenceStock')
->add('articleRegroupement')
->add('articleAssocie1')
->add('articleAssocie2')
->add('articleAssocie3')
->add('seuilDegressif')
->add('tauxDegressif')
->add('articlesCategories', CollectionType::class, array(
'entry_type' => ArticlesCategoriesType::class,
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'by_reference' => false,
'label' => 'test',
'attr' => array('class' => 'collection-articlesCategories'),
'auto_initialize' => true
));
}
public function getName(){
return 'Articles';
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Articles'
));
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'appbundle_articles';
}
}
当我进入由 Symfony 生成的文章编辑页面时,我得到了正确的显示。
Edition page
但是,当我单击按钮 "Edit" 时,出现此错误:无法确定 class "AppBundle\Entity\Articles".[=14= 中的 属性 "articlesCategories" 的访问类型]
我不明白我的错误在哪里。
希望我说清楚了。
感谢您的帮助。
尝试输入以下内容:
public function setArticlesCategories(...) {
...
}
我正在使用 Symfony 3.4.7。我使用 3 个链接的实体,文章、类别和文章类别。 ArticlesCategories 是关系 table.
我想添加和编辑文章。我希望我可以添加/编辑文章,因为一篇文章可能有多个类别,反之亦然。我在关系 table 中有特定于关系的属性,这就是我创建关系实体的原因。
这是一篇文章的代码:
/**
* Articles
*
* @ORM\Table(name="articles")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ArticlesRepository")
*/
class Articles
{
/**
* @var string
*
* @ORM\Column(name="code_article", type="string", length=10)
* @ORM\Id
*/
private $codeArticle;
/**
* @var string
*
* @ORM\Column(name="description", type="text", nullable=true)
*/
private $description;
/**
* @var ArticlesCategories
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\ArticlesCategories", mappedBy="codeArticle")
*/
private $articlesCategories;
// getters et setters normaux
...
/**
* Add articlesCategorie
*
* @param ArticlesCategories $articleCategorie
*
* @return Articles
*/
public function addArticlesCategorie(ArticlesCategories $articleCategorie){
$this->articlesCategories[] = $articleCategorie;
$articleCategorie->setCodeArticle($this);
return $this;
}
/**
* remove articlesCategorie
*
* @param ArticlesCategories $articlesCategorie
*/
public function removeArticlesCategorie(ArticlesCategories $articlesCategorie){
$this->articlesCategories->removeElement($articlesCategorie);
}
/**
* Get articlesCategories
*
* @return Collection
*/
public function getArticlesCategories(){
return $this->articlesCategories;
}
public function __toString()
{
return $this->codeArticle;
}
public function __construct()
{
$this->articlesCategories = new ArrayCollection();
}
这是关系 ArticlesCategories 的代码:
/**
* ArticlesCategories
*
* @ORM\Table(name="articles_categories")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ArticlesCategoriesRepository")
*/
class ArticlesCategories
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Articles", inversedBy="articlesCategories")
* @ORM\JoinColumn(referencedColumnName="code_article", nullable=false)
*/
private $codeArticle;
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Categories")
* @ORM\JoinColumn(referencedColumnName="reference", nullable=false)
*/
private $codeCategorie;
/**
* @var string
*
* @ORM\Column(name="critere_rech_1", type="string", length=45, nullable=true)
*/
private $critereRech1;
/**
* @var string
*
* @ORM\Column(name="critere_rech_2", type="string", length=45, nullable=true)
*/
private $critereRech2;
我的实体类别没有任何具体内容。
我自动生成我的实体文章的 crud,然后我编辑 class ArticlesType 以显示我的关系 ArticlesCategories 的所有属性。为此,我使用 CollectionType。
这是我的表单 ArticlesType 的代码:
class ArticlesType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('codeArticle')
->add('description')
->add('ecotaxe')
->add('qteMaxCde')
->add('publication')
->add('designation')
->add('taxonomie')
->add('referenceStock')
->add('articleRegroupement')
->add('articleAssocie1')
->add('articleAssocie2')
->add('articleAssocie3')
->add('seuilDegressif')
->add('tauxDegressif')
->add('articlesCategories', CollectionType::class, array(
'entry_type' => ArticlesCategoriesType::class,
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'by_reference' => false,
'label' => 'test',
'attr' => array('class' => 'collection-articlesCategories'),
'auto_initialize' => true
));
}
public function getName(){
return 'Articles';
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Articles'
));
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'appbundle_articles';
}
}
当我进入由 Symfony 生成的文章编辑页面时,我得到了正确的显示。 Edition page 但是,当我单击按钮 "Edit" 时,出现此错误:无法确定 class "AppBundle\Entity\Articles".[=14= 中的 属性 "articlesCategories" 的访问类型]
我不明白我的错误在哪里。
希望我说清楚了。
感谢您的帮助。
尝试输入以下内容:
public function setArticlesCategories(...) {
...
}