php - Why is doctrine rejecting my foreign key constraint? -
i'm attempting add many-to-one relationship between fields in 2 doctrine entities. have facebook feed table, lists facebook feeds , corresponding facebook ids, , have fbpagelikes entity, table record rows of number of likes these facebook feeds on time.
i believe have annotated correctly, yet still see error when attempting migrate: general error: 1215 cannot add foreign key constraint
is there wrong annotations? how can debug doctrine migration?
fbpagelikes entity:
/** * @var $facebookid * * @orm\manytoone(targetentity="feed", inversedby="fbpagelikes") * @orm\joincolumns({ * @orm\joincolumn(name="facebook_id", referencedcolumnname="facebookid", ondelete="cascade") * }) */ private $facebookid; feed entity:
/** * @var integer * * @orm\column(name="facebookid", type="bigint", nullable=true) */ private $facebookid; /** * @var \doctrine\common\collections\collection * * @orm\onetomany(targetentity="fbpagelikes", mappedby="facebookid", fetch="extra_lazy") */ private $fbpagelikes;
the reason why setup failed because of annotations on fbpagelikes entity. referencedcolumnname field must refer the primary key in corresponding entity feed. http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref-joincolumn
in case, had set referencedcolumnname refer id column of feed entity, instead of facebookid column.
Comments
Post a Comment