我已经拥有一个包含两个表“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变量未定义...
我所做的事情有什么不妥吗?
接下来我该怎么办? 请帮助我......