2012-03-11 8 views
5

Jestem przyzwyczajony do używania zend mvc wraz z doktryną 2.1 i 2.2 związaną ze sterownikiem bisna.Doktryna Bisna 2.1 i 2.2 Adnotacja "@Table" nigdy nie była importowana

Dla nowego projektu Używam sterownika adnotacji tylko dla conveniance (i thout) .Jak kiedykolwiek wcześniej wygenerowane moja jednostka z bazy danych i tryed ich włożeniem ale zachować generowania błędu:

[Semantical Error] The annotation "@Table" in class MyWheels\Entity\Bmulog was never imported. 

Próbowałem dodać przedrostek ORM \, ale to nie rozwiąże problemu.

mój config plik do odczytu na:

[production] 
phpSettings.display_startup_errors = 0 
phpSettings.display_errors = 0 
includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
appnamespace = "Application" 

pluginPaths.Bisna\Application\Resource\ = "Bisna/Application/Resource" 
autoloaderNamespaces[] = Bisna 
autoloaderNamespaces[] = Doctrine 
autoloaderNamespaces[] = MyWheels 
autoloaderNamespaces[] = Symfony 

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
resources.frontController.params.displayExceptions = 0 

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" 

resources.doctrine.cache.instances.default.namespace = "Application_" 
resources.doctrine.dbal.connections.default.parameters.dbname = "mywheels" 
resources.doctrine.dbal.connections.default.parameters.user = "root" 
resources.doctrine.dbal.connections.default.parameters.password = "" 
resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.adapterClass = "Doctrine\ORM\Mapping\Driver\AnnotationDriver" 
resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.mappingNamespace = "MyWheels\Entity" 
resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.mappingDirs[] = APPLICATION_PATH "\..\library\MyWheels\Entity" 
resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.annotationReaderClass = "Doctrine\Common\Annotations\AnnotationReader" 

każdy dowolny pojęcia, co się dzieje niewłaściwy tutaj?

mój kod jednostka:

<?php 

namespace MyWheels\Entity; 

use Doctrine\ORM\Mapping as ORM; 

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

    /** 
    * @var text $request 
    * 
    * @Column(name="request", type="text", nullable=false) 
    */ 
    private $request; 

    /** 
    * @var text $responce 
    * 
    * @Column(name="responce", type="text", nullable=false) 
    */ 
    private $responce; 

    /** 
    * @var string $ip 
    * 
    * @Column(name="ip", type="string", length=200, nullable=false) 
    */ 
    private $ip; 

    /** 
    * @var string $browser 
    * 
    * @Column(name="browser", type="string", length=200, nullable=false) 
    */ 
    private $browser; 

    /** 
    * @var datetime $date 
    * 
    * @Column(name="date", type="datetime", nullable=false) 
    */ 
    private $date; 


} 

Doctrine 2.2.0 wyniki w tym samym błędem:

[Semantical Error] The annotation "@Doctrine\ORM\Mapping\Table" in class MyWheels\Entity\Bmulog does not exist, or could not be auto-loaded. 
+2

może pomóc - https://github.com/guilhermeblanco/ZendFramework1-Doctrine2/issues/24 – Phil

+0

To w zasadzie stwierdza problemu TAK: D. Używam teraz doktryny 2.0 z pewną domyślną biblioteką i znalazłem gdzieś i to działa .. ale nie mam pojęcia, dlaczego to nie jest złe – Bram

Odpowiedz

5

Zastosowanie Doctrine\ORM\Mapping implikuje dodać alias import jako przedrostek tagów adnotacji w doktrynie.

@ORM\Table 
@ORM\Entity 
@ORM\Column 
@ORM\... (Any Doctrine annotation) 
Powiązane problemy