0
我想直接建模我的數據庫,而不是通過Doctrine。什麼是定義我的實體的最佳方式?在Doctrine 2中定義實體的最佳實踐是什麼
據我所知,如果我從數據庫創建一個實體,我不能對它做任何改變,因爲每當我改變我的數據庫時它將被重寫。
它是確定這樣定義
<?php
/* entity code generated */
class MyEntityBase
{
private $id;
private $title;
function getTitle()
{
return $this->title()
}
}
class MyEntity extends MyEntityBase
{
function getTitle()
{
return trim($this->title());
}
}
我選擇definie這樣 你好。我在定義這樣
class Article
{
/** @Id @Column(type="integer") @GeneratedValue */
private $id;
/** @Column(type="string") */
private $title;
function setTitle($title)
{
$this->title = $title;
}
function __construct() {
// $this->comments = new ArrayCollection();
}
}
$article = $em->find('Article', 1);
我編輯我的帖子來顯示我定義我的對象。我不明白你的意思是「我會建議使用映射功能原則使用」。 – catalinux 2012-03-08 10:07:19
你的意思是:「還描述你的模型中的數據庫結構並不需要你實際將其與數據庫服務器同步,它只是一種學說方式來了解實體具有哪些屬性和方法,也可以選擇你也可以使您的模型與您的數據同步,反之亦然。「 – catalinux 2012-03-08 10:10:15
那麼......你可以用你的代碼中的MetaDrivers完美地記錄你的模型,但你實際上並不需要用它來建模你的數據庫。你可以手工完成模型的設計,而不需要從模型中定義的元數據生成它。 – ChrisR 2012-03-08 10:13:17