So I have these two classes with OneToMany and ManyToOne relationships between them:
namespace RM\Entity; use Doctrine\Common\Collections\ArrayCollection; /** * @Table(name="users") * @Entity * @author Csabi */ class User { /** * @Id * @Column(name="id", type="integer", nullable=false) * @GeneratedValue(strategy="IDENTITY") * @OneToMany(targetEntity="JobListing", mappedBy="ownerId", orphanRemoval=true) */ private $id; /** * @var string $displayname * @Column(type="string", nullable=false) */ private $displayname; }
and
namespace RM\Entity; use Doctrine\Common\Collections\ArrayCollection; /** * @Table(name="job_listings") * @Entity(repositoryClass="RM\Entity\Repository\JobListingRepository") * @author Csabi */ class JobListing { /** * @var integer $id * @Column(name="id", type="integer", nullable=false) * @Id * @GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var User * @ManyToOne(targetEntity="User",cascade={"persist"}) * @JoinColumns({ * @JoinColumn(name="ownerId", referencedColumnName="id", nullable=false) * }) */ private $ownerId;
However, when saving a JobListing, on persist it throws the following error:
Application error Exception information: Message: Class does not exist Stack trace: #0 library\Doctrine\ORM\Mapping\ClassMetadata.php(67): ReflectionClass->__construct(false) #1 library\Doctrine\ORM\Mapping\ClassMetadataFactory.php(350): Doctrine\ORM\Mapping\ClassMetadata->__construct(false) #2 library\Doctrine\ORM\Mapping\ClassMetadataFactory.php(260): Doctrine\ORM\Mapping\ClassMetadataFactory->newClassMetadataInstance(false) #3 library\Doctrine\ORM\Mapping\ClassMetadataFactory.php(169): Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata(false) #4 library\Doctrine\ORM\EntityManager.php(247): Doctrine\ORM\Mapping\ClassMetadataFactory->getMetadataFor(false) #5 library\Doctrine\ORM\UnitOfWork.php(1222): Doctrine\ORM\EntityManager->getClassMetadata(false) #6 library\Doctrine\ORM\UnitOfWork.php(1678): Doctrine\ORM\UnitOfWork->doPersist(1, Array) #7 library\Doctrine\ORM\UnitOfWork.php(1252): Doctrine\ORM\UnitOfWork->cascadePersist(Object(RM\Entity\JobListing), Array) #8 library\Doctrine\ORM\UnitOfWork.php(1201): Doctrine\ORM\UnitOfWork->doPersist(Object(RM\Entity\JobListing), Array) #9 library\Doctrine\ORM\EntityManager.php(454): Doctrine\ORM\UnitOfWork->persist(Object(RM\Entity\JobListing)) #10 library\RM\Entity\JobListingService.php(54): Doctrine\ORM\EntityManager->persist(Object(RM\Entity\JobListing)) #11 application\controllers\JobListingController.php(28): RM\Entity\JobListingService->saveJobListing(Object(RM\Entity\JobListing)) #12 library\Zend\Controller\Action.php(516): JobListingController->addAction()
What am I missing here?