したがって、OneToManyとManyToOneの関係を持つ次の2つのクラスがあります。
名前空間RM\Entity; Doctrine \ Common \ Collections\ArrayCollectionを使用します; / ** * @Table(name = "users") * @実在物 * @author Csabi * / クラスユーザー{ / ** * @Id * @Column(name = "id"、type = "integer"、nullable = false) * @GeneratedValue(strategy = "IDENTITY") * @OneToMany(targetEntity = "JobListing"、mappedBy = "ownerId"、orphanRemoval = true) * / プライベート$id; / ** * @var string $ displayname * @Column(type = "string"、nullable = false) * / プライベート$displayname; }
と
名前空間RM\Entity; Doctrine \ Common \ Collections\ArrayCollectionを使用します; / ** * @Table(name = "job_listings") * @Entity(repositoryClass = "RM \ Entity \ Repository \ JobListingRepository") * @author Csabi * / クラスJobListing{ / ** * @var integer $ id * @Column(name = "id"、type = "integer"、nullable = false) * @Id * @GeneratedValue(strategy = "IDENTITY") * / プライベート$id; / ** *@varユーザー * @ManyToOne(targetEntity = "User"、cascade = {"persist"}) * @JoinColumns({ * @JoinColumn(name = "ownerId"、referencedColumnName = "id"、nullable = false) *}) * / プライベート$ownerId;
ただし、JobListingを保存するときに、persistを実行すると、次のエラーがスローされます。
アプリケーションエラー 例外情報: メッセージ:クラスは存在しません スタックトレース: #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-> casinoPersist(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()
ここで何が欠けていますか?