2016-03-03 35 views
0

我想創建一個基於數據庫表的實體。我按照這些步驟:Doctrine/Symfony entity generator and generating entity from one table,那就是,在終端:在Symfony中,src/AppBundle/Resources/config/doctrine/*。orm.yml文件的用途是什麼?

php bin/console doctrine:mapping:import --force AppBundle yml --force --filter="Client" 

php bin/console doctrine:mapping:convert annotation ./src/AppBundle/Entity --from-database --filter="Client" 

php bin/console doctrine:generate:entities AppBundle:Client --no-backup 

此創建實體「客戶」。但是,它還在src/AppBundle/Resources/config/doctrine目錄中創建了一個client.orm.yml文件。而這會導致問題 - 那就是,我的應用程序現在有一個錯誤消息崩潰:

「未找到映射文件名爲‘User.orm.yml’類 ‘的appbundle \實體\’用戶」

我覺得Symfony/Doctrine開始使用這些XML文件來映射我的PHP代碼到數據庫模式。但爲什麼?我不想要它。我只是想要Doctrine創建一個實體。

p.s.當我刪除這個client.orm.yml文件時,一切正常。但我不明白髮生了什麼,我該如何妥善處理。

+1

您可以在實體創建過程後刪除這些文件。這些文件用於元數據映射。你可以閱讀這個http://martinfowler.com/eaaCatalog/metadataMapping.html和http://martinfowler.com/eaaCatalog/dataMapper.html –

+0

@MertÖksüz雖然我仍然不明白爲什麼學說不這樣做(刪除這些文件),而是給我一個相當奇怪的錯誤信息,但是...感謝您的鏈接!我從來沒有想過有這麼多的模式,我不知道:) –

+1

爲什麼學說不刪除?因爲,這是轉換過程的第一步。在命令學習之後,您的第一個命令創建這些文件,並且正在創建與這些文件相關的實體文件。 :) –

回答