尝试执行教程:“https://github.com/doctrine/doctrine2/blob/master/docs/en/tutorials/getting-started.rst#id3”执行“$ php create_product.php ORM”时收到错误消息:“class Product不是有效条目或映射超类”
这是create_product.php
<?php
// create_product.php
require_once "bootstrap.php";
$newProductName = $argv[1];
$product = new Product();
$product->setName($newProductName);
$entityManager->persist($product);
$entityManager->flush();
echo "Created Product with ID " . $product->getId() . "\n";
bootstrap.php是
<?php
// bootstrap.php
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
require_once "vendor/autoload.php";
// Create a simple "default" Doctrine ORM configuration for Annotations
$isDevMode = true;
$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/src"), $isDevMode);
// database configuration parameters
$conn = array(
'driver' => 'pdo_mysql',
'dsn' => 'mysql:dbname=doctrine2;host=any.where.nl',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
)
// 'driver' => 'pdo_sqlite',
// 'path' => __DIR__ . '/db.sqlite',
);
// obtaining the entity manager
$entityManager = EntityManager::create($conn, $config);
My Products.php是tutolrial中的精确副本,位于/src/Project.php
知道为什么错误消息说Product.php不是有效的实体?以及如何解决? 最好的祝福, Tim van Steenbergen
答案 0 :(得分:1)
您可能没有放置@Entity注释,示例缺少它。试试这个:
/**
* @Entity
* @Table(name="product")
*/
答案 1 :(得分:-2)
keys
在《教义2》手册的上下文中。提及的手册在实体Bug中包含错误代码,而不是在实体Product中包含错误代码。