2013-05-03 98 views
1

执行“$ php create_product.php ORM”时试图执行教程:“https://github.com/doctrine/doctrine2/blob/master/docs/en/tutorials/getting-started.rst#id3”我收到错误消息:“class Product is不是有效的条目或映射超类”Stuck in Tutorial Doctrine2:“class Product is not a valid entry or mapped super class”

这是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); 

我Products.php是完全相同的副本,因为我n的tutolrial和位于/ src/Project.php

任何想法为什么错误消息说,Product.php是无效的实体?以及如何解决它? 此致敬礼, 蒂姆凡斯滕伯根

回答

1

你可能没有把@Entity注释,例子是缺少它。试试这个:

/** 
* @Entity 
* @Table(name="product") 
*/ 
+0

正确!谢谢Zeljko。当教程90%正确时不好。前往下一个bug! – 2013-05-03 12:41:37

+0

下一个错误是缺少注释 – 2013-05-03 12:55:16

+0

我需要更多信息 – Zeljko 2013-05-06 14:39:41