Doctrine 在编写symfony/条令关联后,数据库中没有更新关系

Doctrine 在编写symfony/条令关联后,数据库中没有更新关系,doctrine,symfony,Doctrine,Symfony,因此,我正在symfony 3.0.1中进行一个项目。我已经生成了实体(通过条令:generate:entity和以下交互式设置问题),然后执行条令:模式:更新--force从条令实体生成数据库中的表。 然后我进入实体并创建关联。 之后,我继续执行另一个原则:schema:update--force,在签入phpMyAdmin之后,我强制的schema更新没有创建任何关系 我还缺什么吗?见下文我的实体: namespace MyAppBundle\Entity; use Doctrine\OR

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

我还缺什么吗?见下文我的实体:

namespace MyAppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * Logins
 *
 * @ORM\Table(name="logins")
 * @ORM\Entity(repositoryClass="MyAppBundle\Repository\LoginsRepository")
 */
class Logins
{
/**
 * @var int
 *
 * @ORM\Column(name="RoleID", type="integer")
 * @ORM\ManyToOne(targetEntity="Roles", inversedBy="roleID")
 * @ORM\JoinColumn(name="roleID", referencedColumnName="roleID")
 */
private $roleID;
"


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


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

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


我发现,如果您正在使用APC,并且刚刚添加了一个新关系,则需要重新启动web服务器,以便刷新实体类的旧版本。

删除Resources/config/doctor下的所有文件。它们有时会被生成,并会干扰您的注释。我没有任何配置文件夹中的条令文件夹或文件。。。我查看了:app/resources app/config src/MyAppBundle/resources/configReview关系文档:尝试在Id列上放置多个One关系没有任何意义。我更正了文本块,因为我从登录中复制了主键Id属性的注释,但我没有针对该属性。基本上,在数据库端,可以为登录表中的许多记录显示一个roleID(角色表中的主键)。看起来您仍在尝试使角色:roleID既是一个主键,也是一个数组。也许可以尝试以下文档中的示例。
'namespace MyAppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * Roles
 *
 * @ORM\Table(name="roles")
 * @ORM\Entity(repositoryClass="MyAppBundle\Repository\RolesRepository")
 */
class Roles
{
    /**
     * @var int
     *
     * @ORM\Column(name="roleID", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\OneToMany(targetEntity="Logins", mappedBy="roleID")
     */
    private $roleID;

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