在Symfony2中,您需要按實體定義映射實體。有三種不同的映射:Annotation,YAML和XML映射。
您正在鏈接的Symfony頁面確實回答了這個問題。例如,如果你到了Mapping section,你會看到這樣一段話:
教義是能夠做到這一點,你只需要創建「元數據」,或配置告訴主義究竟是如何的產品類其屬性應該映射到數據庫。這種元數據可以在許多不同的格式,包括產品類中YAML,XML或直接通過註釋指明:
然後,如果你去下面只是有點,你看到三個映射選項卡式窗格。點擊YAML標籤,你會看到:
# src/Acme/StoreBundle/Resources/config/doctrine/Product.orm.yml
Acme\StoreBundle\Entity\Product:
type: entity
table: product
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
name:
type: string
length: 100
price:
type: decimal
scale: 2
description:
type: text
這片YAML的是映射的信息,位於此位置:src/Acme/StoreBundle/Resources/config/doctrine/EntityName.orm.yml
。 EntityName
部分應該更改爲您自己的實體的名稱。如果您的實體類是Product,則它將是Product.orm.yml
。您將需要定義多個.yml
文件來定義多個實體。
下一步是填充數據庫模式。假設你的配置還是不錯的,你會使用這些命令分別下降並創建數據庫:
php console doctrine:database:drop --force
php console doctrine:database:create
然後,填充模式,你必須使用這個命令:
php console doctrine:schema:update --force
的文檔Doctrine是檢查Symfony2中通過Doctrine進行數據庫交互所需的其他映射信息和所有東西的地方。
問候,
馬特
謝謝!正是我在找什麼。我也看過那個頁面,但由於某種原因,它沒有按照你描述的方式描述所有的東西。 – KVISH 2012-03-02 01:57:07
沒問題,有時用不同的方式來解釋的東西可以提供幫助。快樂編碼:) – Matt 2012-03-02 15:30:23