在Zend框架2中生成实体形成现有数据库

时间:2014-07-16 11:46:43

标签: php entity-framework orm doctrine-orm zend-framework2

我已经拥有一个包含两个表“Album”和“Email”的数据库。 我尝试使用命令生成orm和实体。

首先,我使用以下命令生成orm

/opt/lampp/bin/php ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --from-database php ./module/Album/src/Album/Entity

创建orm文件如下..

use Doctrine\ORM\Mapping\ClassMetadataInfo;

 $metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
 $metadata->setPrimaryTable(array(
    'name' => 'Album',
   ));
 $metadata-   
>setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
 $metadata->mapField(array(
    'fieldName' => 'id',
    'columnName' => 'id',
    'type' => 'integer',
    'nullable' => false,
    'unsigned' => false,
   'comment' => '',
   'id' => true,
  ));
$metadata->mapField(array(
   'fieldName' => 'artist',
   'columnName' => 'artist',
   'type' => 'string',
   'nullable' => false,
   'length' => 255,
   'fixed' => false,
   'comment' => '',
  ));
$metadata->mapField(array(
   'fieldName' => 'title',
   'columnName' => 'title',
   'type' => 'string',
   'nullable' => false,
   'length' => 255,
   'fixed' => false,
   'comment' => '',
  ));
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_IDENTITY);

之后我运行以下命令从该orm文件生成实体

/opt/lampp/bin/php ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate-entities /modules/Album/src/Album/Entity

但是,最后一个命令在命令提示符中返回错误,如..

Notice: Undefined variable: metadata in /opt/lampp/htdocs/ZendSkeleton/module/Album/src/Album/Entity/Album.php on line 5

Fatal error: Call to a member function setInheritanceType() on a non-object in /opt/lampp/htdocs/ZendSkeleton/module/Album/src/Album/Entity/Album.php on line 5

$ metadata变量未定义...

我所做的事情有什么不妥吗?

接下来我该怎么办? 请帮助我......

0 个答案:

没有答案