2017-08-08 2 views
0

Ich möchte mit Lehre aus einer Datenbank Daten visualisieren, aber es scheint nicht zu funktionieren ...Klasse „AppBundle Entity Organisation“ ist keine gültige Einheit oder kartiert Superklasse

Hier ist meine Klasse Organization :

<?php 
namespace AppBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/**Class Organization 
* @package AppBundle\Entity 
* 
* @ORM\Table(name="organization") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\ 
* OrganizationRepository") 
* 
*/ 
class Organization 
{ 

/** 
* @var int 
* 
* @ORM\Column(name="id", type="integer") 
* @ORM\Id 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
private $id; 


/** 
* @var string 
* @ORM\Column(name="name", type="string", length=45) 
* 
*/ 
protected $name; 




/** 
* @return int 
*/ 
public function getId() 
{ 
    return $this->id; 
} 

/** 
* @param int $id 
*/ 
public function setId($id) 
{ 
    $this->id = $id; 
} 

/** 
* @return string 
*/ 
public function getName() 
{ 
    return $this->name; 
} 

/** 
* @param string $name 
*/ 
public function setName($name) 
{ 
    $this->name = $name; 
} 

}

Hier ist der Fehler:

Doctrine\ORM\Mapping\MappingException: Class "AppBundle\Entity\Organization" is not a valid entity or mapped super class.

at vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php:346 at Doctrine\ORM\Mapping\MappingException::classIsNotAValidEntityOrMappedSuperClass('AppBundle\Entity\Organization') (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php:91) at Doctrine\ORM\Mapping\Driver\AnnotationDriver->loadMetadataForClass('AppBundle\Entity\Organization', object(ClassMetadata)) (vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php:102) at Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain->loadMetadataForClass('AppBundle\Entity\Organization', object(ClassMetadata)) (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:151) at Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata(object(ClassMetadata), null, false, array()) (vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:332) at Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata('AppBundle\Entity\Organization') (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:78) at Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata('AppBundle\Entity\Organization') (vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:216) at Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor('AppBundle:Organization') (vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:281) at Doctrine\ORM\EntityManager->getClassMetadata('AppBundle:Organization') (vendor/doctrine/orm/lib/Doctrine/ORM/Repository/DefaultRepositoryFactory.php:44) at Doctrine\ORM\Repository\DefaultRepositoryFactory->getRepository(object(EntityManager), 'AppBundle:Organization') (vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:698) at Doctrine\ORM\EntityManager->getRepository('AppBundle:Organization') (src/AppBundle/Controller/OrganizationController.php:27) at AppBundle\Controller\OrganizationController->showInfoAction() at call_user_func_array(array(object(OrganizationController), 'showInfoAction'), array()) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:153) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:171) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (web/app_dev.php:29)

I hav e die OrganizationController und die OrganizationRepository.

+0

In Einheit Anmerkungen nach '@ORM \ Entity (repositoryClass' Sie Zeilenumbruch haben und das könnte der Grund sein. – Tomasz

+0

@TomaszTurkowski Das liegt daran, dass Stackoverflow einige Probleme hatte, ohne dass die komplette Linie um es zu brechen, aber in meinem code it'key – HessianMad

+0

Mögliches Duplikat von ["Klasse XXX ist keine gültige Entity oder zugeordnete Superklasse" nach dem Verschieben der Klasse in das Dateisystem] (https://stackoverflow.com/questions/7820597/class-xxx-is-not -a-valid-entity-or-mapped-super-class-nach-bewegen-der-klasse-i) – Vamsi

Antwort

1

verschieben Klassenname Anmerkung zur nächsten Zeile oder Raum geben, bevor es wie unter

/** 
* Class Organization 
* @package AppBundle\Entity 
* 
* @ORM\Table(name="organization") 
* 
* @ORM\Entity(repositoryClass="AppBundle\Repository\OrganizationRepository") 
*/ 
0
  1. Sie sollten die PHP-Dateinamen überprüfen. Ist die Entität filename Organization.php
  2. Sie sollten setId() Methode in Ihrem Code entfernen (Es wird Ihr Problem nicht lösen, aber Sie müssen diese Methode nicht setzen). Weil $id automatisch generiert wird. dieser

Remove:

/** 
    * @param int $id 
    */ 
    public function setId($id) 
    { 
     $this->id = $id; 
    } 
  1. auch - versuchen Sie nicht, die private Sicht für die $id Eigenschaft zu verwenden. Der richtige Weg ist - stellen Sie es als geschützt ein.
Verwandte Themen