我使用Doctrine ORM 2。 我得到了以下實體類。PHP Doctrine 2 ORM:非實體對象作爲實體中的屬性
/**
* @Entity
* @Table(name="objects")
*/
class MyObject
{
/**
* @Id
* @GeneratedValue
* @Column(type="integer")
*/
private $id;
/**
* @var Coordinate
*/
private $coordinate;
}
class Coordinate
{
private $x;
private $y;
private $z;
}
我要實現的3座標在一個單獨的類值PHP中更好的操控性。但在數據庫中,我希望將3個值包含在數據庫表「對象」中。
有誰知道如何做到這一點?
問候
編輯: 我發現了一個解決方法,但它不是最好的。
/**
*
* @var integer
* @Column(type="integer")
*/
private $x;
/**
*
* @var integer
* @Column(type="integer")
*/
private $y;
/**
*
* @var integer
* @Column(type="integer")
*/
private $z;
public function getCoordinate()
{
return new Coordinate($this->x, $this->y, $this->z);
}
public function setCoordinate(Coordinate $coord)
{
$this->x = $coord->getX();
$this->y = $coord->getY();
$this->z = $coord->getZ();
}