gpt4 book ai didi

symfony - 属性 (...) 不存在 (Symfony 3)

转载 作者:行者123 更新时间:2023-12-04 07:19:37 25 4
gpt4 key购买 nike

在我的 Symfony 3 项目中,我在“用户”和“角色”之间有一个多对多的关系。

它曾经可以工作,但现在我有一个错误:

Property AppBundle\Entity\Role::$user does not exist

我不知道我做了什么,可能是因为运行了“php bin/console science:mapping:import --force AppBundle xml”命令。

这是 User 实体类的一个片段:
/**
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
*/
class User implements AdvancedUserInterface, \Serializable {

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

/**
*
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Role", cascade = {"persist"})
* @ORM\JoinTable(name="user_role")
*/
private $roles;

如您所见,存在与 Role 实体的关系。

另一方面,角色实体不包含任何关系信息,它应该按照这篇文章工作:

https://knpuniversity.com/screencast/symfony2-ep3/many-to-many-relationship

它曾经可以工作,现在不行,也不知道为什么。

据我了解,根据 Symfony 文档,这被命名为“单向多对多”关系。对我来说,一切看起来都很好。

最佳答案

当您运行映射命令时,您在 AppBundle/Resources/config/doctrine 下生成了映射文件,这些文件会干扰您的注释。在 Doctrine 中,每个包只能有一种类型的实体映射。多种类型往往会默默地和令人困惑地失败。

这解释了为什么它“曾经有效”。

删除 config/doctrine 目录,也许清除缓存,您应该回到之前的位置。

关于symfony - 属性 (...) 不存在 (Symfony 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com