Hello,
I built 3 entities that i want ID of one of tables be foreign key for 2
others tables
Doctrine didnt make foreign key between these classes, whats my mistake?
class class1
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="fkey", type="integer")
* @ORM\ManyToOne(targetEntity="class2")
* @ORM\JoinColumn(name="f_key", referencedColumnName="id")
*/
private $fkey;
}
class class2
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToMany(targetEntity="class1", mappedBy="f_key")
* @ORM\OneToMany(targetEntity="class3", mappedBy="id_id")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="fkey", type="integer")
*/
private $fkey;
}
class class3
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="NONE")
* @ORM\ManyToOne(targetEntity="class2")
* @ORM\JoinColumn(name="id_id", referencedColumnName="id")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="fkey", type="integer")
*/
private $fkey;
}
Result of php console doctrine:schema:create --dump-sql :
CREATE TABLE class1 (id INT AUTO_INCREMENT NOT NULL, fkey INT NOT NULL,
PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE =
InnoDB;
CREATE TABLE class2 (id INT AUTO_INCREMENT NOT NULL, fkey INT NOT NULL,
PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE =
InnoDB;
CREATE TABLE class3 (id INT NOT NULL, fkey INT NOT NULL, PRIMARY KEY(id))
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
Can anyone help on this issue?
Best Regards
--
You received this message because you are subscribed to the Google Groups
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.