0
私は次の問題があります:Symfony 3.2プロジェクト内にMySQLデータベースにobject_types
というテーブルとObject
とObjectType
の2つのテーブルがあります。私はちょうどオブジェクトの種類を同期して、今はphp bin/console doctrine:schema:update --complete
コマンドでオブジェクトで同じことをしたいのですが、テーブル間に外部キーを作成しません。ここでSymfony Doctrine updateコマンドは、単方向の多対1の関連付けで外部キーを作成しません。
は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;
私の目標を達成するためにどのように?
ManyToOne
/**
* @var int
*
* @ORM\ManyToOne(targetEntity="ObjectType", inversedBy="object")
* @ORM\JoinColumn(name="object_typeID", referencedColumnName="id")
*/
private $typeID;
OneToMany
/**
* @ORM\OneToMany(targetEntity="Object", mappedBy="typeID")
*/
protected $object;
以下
それは働いた!ありがとう –