ManyToOne 向 FOS_User_Bundle 用户 table 添加外部约束的问题
Issue with ManyToOne adding foreign constraint to FOS_User_Bundle user table
我 运行 遇到了向我的 fos_user table 添加外键约束的问题。具体来说,问题出在 ManyToOne 关系上。我没有 运行 解决这个问题,在另一个实体上做 ManyToOne 和 OneToMany 关系,只有这个。
错误信息:
[Doctrine\DBAL\Exception\DriverException]
An exception occurred while executing 'ALTER TABLE fos_user ADD CONS
TRAINT FK_957A6479309D1878 FOREIGN KEY (university_id) REFERENCES Un
iversities (id)':
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constrai
nt
实体:
namespace Project\UserBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToMany(targetEntity="Project\UserBundle\Entity\Product", mappedBy="user")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Project\UserBundle\Entity\Universities", inversedBy="users")
*/
private $university;
事实证明,在 fos_user table 上创建外键存在问题,并且通过导出数据库、删除数据库然后重新创建映射作品。
我 运行 遇到了向我的 fos_user table 添加外键约束的问题。具体来说,问题出在 ManyToOne 关系上。我没有 运行 解决这个问题,在另一个实体上做 ManyToOne 和 OneToMany 关系,只有这个。
错误信息:
[Doctrine\DBAL\Exception\DriverException]
An exception occurred while executing 'ALTER TABLE fos_user ADD CONS
TRAINT FK_957A6479309D1878 FOREIGN KEY (university_id) REFERENCES Un
iversities (id)':
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constrai
nt
实体:
namespace Project\UserBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToMany(targetEntity="Project\UserBundle\Entity\Product", mappedBy="user")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Project\UserBundle\Entity\Universities", inversedBy="users")
*/
private $university;
事实证明,在 fos_user table 上创建外键存在问题,并且通过导出数据库、删除数据库然后重新创建映射作品。