У меня есть следующая проблема - у меня есть одна таблица, object_types
в базе данных MySQL и две сущности - Object
и ObjectType
в моем проекте Symfony 3.2. Я только что синхронизировал типы объектов, и теперь хочу сделать то же самое с объектами с командой php bin/console doctrine:schema:update --complete
, но он не создает внешний ключ между таблицами.Команда обновления Symfony Doctrine не создает внешний ключ в однонаправленной многоадресной ассоциации
Вот Object
класс:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Object
*
* @ORM\Table(name="object")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ObjectRepository")
*/
class Object
{
/**
* @var int
*
* @ORM\Column(name="objectID", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $ID;
/**
* @var int
*
* @ORM\Column(name="object_typeID", type="integer")
* @ORM\ManyToOne(targetEntity="ObjectType")
* @ORM\JoinColumn(name="object_typeID", referencedColumnName="object_typeID")
*/
private $typeID;
/**
* @var string
*
* @ORM\Column(name="object_title", type="string", length=128)
*/
private $title;
/**
* @var string
*
* @ORM\Column(name="object_path", type="text")
*/
private $path;
/**
* @var bool
*
* @ORM\Column(name="object_active", type="boolean")
*/
private $active;
/**
* @var \DateTime
*
* @ORM\Column(name="object_added", type="datetime", nullable=true)
*/
private $added;
....
}
ObjectType:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* ObjectType
*
* @ORM\Table(name="object_types")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ObjectTypeRepository")
*/
class ObjectType
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(name="object_typeID", type="integer", unique=true)
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $typeID;
/**
* @var string
*
* @ORM\Column(name="object_type_name", type="string", length=45)
*/
private $typeName;
Как достичь своей цели?
Это сработало! благодаря –