在编写符号/学说关联后,数据库中没有更新关系



所以我正在symfony 3.0.1中做一个项目。我已经生成了实体(通过具有以下交互式设置问题的doctrine:generate:entity),然后doctrine:schema:update --force从 Doctrine 实体生成数据库中的表。然后我进入实体并创建了关联。之后,我继续做了另一个doctrine:schema:update -- force,在签入phpMyAdmin后,我强制的模式更新没有创建任何关系。

我还缺少什么吗?请参阅下面的我的实体:

namespace MyAppBundleEntity;
use DoctrineORMMapping as ORM;
use DoctrineCommonCollectionsArrayCollection;
/**
 * Logins
 *
 * @ORMTable(name="logins")
 * @ORMEntity(repositoryClass="MyAppBundleRepositoryLoginsRepository")
 */
class Logins
{
/**
 * @var int
 *
 * @ORMColumn(name="RoleID", type="integer")
 * @ORMManyToOne(targetEntity="Roles", inversedBy="roleID")
 * @ORMJoinColumn(name="roleID", referencedColumnName="roleID")
 */
private $roleID;

'

'namespace MyAppBundleEntity;
use DoctrineORMMapping as ORM;
use DoctrineCommonCollectionsArrayCollection;
/**
 * Roles
 *
 * @ORMTable(name="roles")
 * @ORMEntity(repositoryClass="MyAppBundleRepositoryRolesRepository")
 */
class Roles
{
    /**
     * @var int
     *
     * @ORMColumn(name="roleID", type="integer")
     * @ORMId
     * @ORMGeneratedValue(strategy="AUTO")
     * @ORMOneToMany(targetEntity="Logins", mappedBy="roleID")
     */
    private $roleID;
    public function __construct() {
        $this->roleID=new ArrayCollection();

仍然不确定为什么会有冲突,但我解决了我的问题 教义逆向工程.我在 PMA 中创建了关系,然后从中生成映射。一切都很顺利。

编辑:评论我帖子的人是对的。我无法在标识属性上分配一对多。

我已经多次遇到令人沮丧的问题,关系没有在我的生产环境中更新。我的代码将按预期执行,没有错误,但表根本不会更新。

我发现,如果您使用的是APC并且刚刚添加了新关系,则需要重新启动Web服务器才能清除旧版本的实体类。

最新更新