2013-02-27 56 views
7

我對Symfony2比較新,迄今爲止都很喜歡它 - 除了這個問題,我一直在反對。Symfony2學說主義:生成:實體從來沒有工作

可怕的(對我):理論:生成:實體

當我開始我的第一個項目的Symfony2我無法得到該命令的工作,最終只用學說:生成:實體而不是其工作的罰款。

但是,這次我試圖爲已經有數據庫表的系統編寫應用程序。我按照指示:Symfony2 Docs這似乎都工作正常,除了像通常的原則:生成:實體位。

我有以下實體文件@我/包/ FeedManagerBundle /實體/ Feeds.php

<?php 

namespace My\Bundle\FeedManagerBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Feeds 
* 
* @ORM\Table(name="feeds") 
* @ORM\Entity 
*/ 
class Feeds 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer", nullable=false) 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="feed_label", type="string", length=100, nullable=false) 
    */ 
    private $feedLabel; 

    /** 
    * @var integer 
    * 
    * @ORM\Column(name="advertiser_id", type="integer", nullable=false) 
    */ 
    private $advertiserId; 

    /** 
    * @var boolean 
    * 
    * @ORM\Column(name="active", type="boolean", nullable=false) 
    */ 
    private $active; 


} 

,在我的/包/ FeedManagerBundle /資源/配置/教義/ Feeds.orm.yml

Feeds: 
    type: entity 
    table: feeds 
    fields: 
    id: 
     id: true 
     type: integer 
     unsigned: false 
     nullable: false 
     generator: 
      strategy: IDENTITY 
    feedLabel: 
     type: string 
     length: 100 
     fixed: false 
     nullable: false 
     column: feed_label 
    advertiserId: 
     type: integer 
     unsigned: false 
     nullable: false 
     column: advertiser_id 
    active: 
     type: boolean 
     nullable: false 
    lifecycleCallbacks: { } 

這是我收到的錯誤:

$ php app/console doctrine:generate:entities My/Bundle/FeedManagerBundle/Entity/Feeds --path=src 
Generating entity "My\Bundle\FeedManagerBundle\Entity\Feeds" 



    [Doctrine\Common\Persistence\Mapping\MappingException]                   
    Invalid mapping file 'My.Bundle.FeedManagerBundle.Entity.Feeds.orm.yml' for class 'My\Bundle\FeedManagerBundle\Entity\Feeds'. 



doctrine:generate:entities [--path="..."] [--no-backup] name 

我試圖改變的YML文件的名稱完整的路徑。我也嘗試將yml文件的第一行更改爲完整路徑,並且我已經嘗試在同一時間執行這兩個操作。似乎沒有什麼工作&現在我正在拉我的頭髮舞臺。任何人都可以想到爲什麼這可能無法正常工作?

回答

13

更改Feed.orm.yml到:

My\Bundle\FeedManagerBundle\Entity\Feeds: 
    type: entity 
    table: feeds 
    ... 
+0

開頭添加的引號中添加 - 哇,我嘗試了除此之外的所有內容。我甚至嘗試過我的/ Bundle/FeedManagerBundle/Entity/Feeds:謝謝! – someuser 2013-02-27 16:32:14

+0

@l_t很高興問題解決了 – seferov 2013-02-27 16:38:00

+0

與我的XML文件映射一樣。我有<實體名稱=「城市」表=「城市」>它給出了同樣的錯誤。我將它更改爲並且工作正常。謝謝! – a4bike 2015-03-10 21:18:25

1

我有同樣的問題,但問題是不存在的。

其實,我想改變的實體,即名:我的\包\ FeedManagerBundle \實體\ Aircaft:將是我的\包\ FeedManagerBundle \實體\飛機:

(因爲表是「aircaft」:-S)

但我沒有更改文件名。 當我更改aircaft.orm.yml to airc r aft.orm.yml(帶「r」) 該命令的作品!

0

我以不同的方式解決了這個問題。 orm.yml飼料實體文件正在創建問題,所以我從resource -> config -> doctrine刪除它,然後我跑了PHP應用程序/控制檯​​。

This Works。

如果您想使用doctrine:mapping:convert任務將映射信息轉換爲其他支持的映射格式。用你自己的替換下面的命名空間。它工作100%。

php app/console doctrine:mapping:convert --namespace="Blogger\BlogBundle\Entity\Blog" yaml src/Blogger/BlogBundle/Resources/config/doctrine 
1

回答未發現任何正在尋找5小時後...

爲了從陽明實體model.php,只是這樣做。關注下面的粗體文字。該命令是:

php app/console doctrine:generate:entities YourAppBundle:ReplaceWithEntityName --path src/ 

確保您model.orm.yml文件是文件夾中

C:\某某\ ABC **的appbundle \資源\ CONFIG \學說**和您的YML文件有此引用在映射代碼「AppBundle \ Entity \ Book:

相關問題