我有两个实体,我想映射它们,以便当我想为每个实体生成crud时,我想使用Map实体创建一个新的插入,以便能够根据Board实体的id进行选择。 我一直试图制作映射..我没有管理不确定我是否做得对,因为在mysql中我没有在sql生成后看到外键。
Board.php
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Board
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="AppBundle\Entity\BoardRepository")
*/
class Board
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\ManyToOne(targetEntity="Board")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="BoardId")
* })
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="PropertyName", type="string", length=255)
*/
private $propertyName;
/**
* @var string
*
* @ORM\Column(name="PropertyDescription", type="string", length=255)
*/
private $propertyDescription;
/**
* @var string
*
* @ORM\Column(name="PropertyPicture", type="string", length=255)
*/
private $propertyPicture;
/**
* @var string
*
* @ORM\Column(name="PropertyGlyphonic", type="string", length=255)
*/
private $propertyGlyphonic;
/**
* @var string
*
* @ORM\Column(name="PropertyPrice", type="string", length=255)
*/
private $propertyPrice;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set propertyName
*
* @param string $propertyName
* @return Board
*/
public function setPropertyName($propertyName)
{
$this->propertyName = $propertyName;
return $this;
}
/**
* Get propertyName
*
* @return string
*/
public function getPropertyName()
{
return $this->propertyName;
}
/**
* Set propertyDescription
*
* @param string $propertyDescription
* @return Board
*/
public function setPropertyDescription($propertyDescription)
{
$this->propertyDescription = $propertyDescription;
return $this;
}
/**
* Get propertyDescription
*
* @return string
*/
public function getPropertyDescription()
{
return $this->propertyDescription;
}
/**
* Set propertyPicture
*
* @param string $propertyPicture
* @return Board
*/
public function setPropertyPicture($propertyPicture)
{
$this->propertyPicture = $propertyPicture;
return $this;
}
/**
* Get propertyPicture
*
* @return string
*/
public function getPropertyPicture()
{
return $this->propertyPicture;
}
/**
* Set propertyGlyphonic
*
* @param string $propertyGlyphonic
* @return Board
*/
public function setPropertyGlyphonic($propertyGlyphonic)
{
$this->propertyGlyphonic = $propertyGlyphonic;
return $this;
}
/**
* Get propertyGlyphonic
*
* @return string
*/
public function getPropertyGlyphonic()
{
return $this->propertyGlyphonic;
}
/**
* Set propertyPrice
*
* @param string $propertyPrice
* @return Board
*/
public function setPropertyPrice($propertyPrice)
{
$this->propertyPrice = $propertyPrice;
return $this;
}
/**
* Get propertyPrice
*
* @return string
*/
public function getPropertyPrice()
{
return $this->propertyPrice;
}
}
Map.php
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Map
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="AppBundle\Entity\MapRepository")
*/
class Map
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
* @ORM\Column(name="BoardId", type="integer")
*/
private $boardId;
/**
* @var string
*
* @ORM\Column(name="X", type="string", length=255)
*/
private $x;
/**
* @var string
*
* @ORM\Column(name="Y", type="string", length=255)
*/
private $y;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set boardId
*
* @param integer $boardId
* @return Map
*/
public function setBoardId($boardId)
{
$this->boardId = $boardId;
return $this;
}
/**
* Get boardId
*
* @return integer
*/
public function getBoardId()
{
return $this->boardId;
}
/**
* Set x
*
* @param string $x
* @return Map
*/
public function setX($x)
{
$this->x = $x;
return $this;
}
/**
* Get x
*
* @return string
*/
public function getX()
{
return $this->x;
}
/**
* Set y
*
* @param string $y
* @return Map
*/
public function setY($y)
{
$this->y = $y;
return $this;
}
/**
* Get y
*
* @return string
*/
public function getY()
{
return $this->y;
}
}
答案 0 :(得分:0)
它看起来像你还没读过手册。这是Symfony.com和Doctrine-orm.readthedocs.org上的精彩文档。
阅读这篇文章(http://symfony.com/doc/current/book/doctrine.html)并使用此文章作为参考(http://doctrine-orm.readthedocs.org/en/latest/reference/association-mapping.html),您将找到答案以及未来的许多问题。
你基本上需要做的是:
class Board {
/**
* @ORM\ManyToOne(targetEntity="Map")
*/
private $map;
}