The target-entity quot;some entityquot; cannot be found(目标实体“某个实体找不到)
问题描述
我在使用 ZF2 时遇到了这个错误.
i am using ZF2 with doctrine i am getting this error.
在SubjectEntitySubject#user"中找不到目标实体 EntityUser.
The target-entity EntityUser cannot be found in 'SubjectEntitySubject#user'.
这是我的代码片段.
<?php
namespace SubjectEntity;
use DoctrineORMMapping as ORM;
use ZendInputFilterInputFilter;
use ZendInputFilterFactory as InputFactory;
use ZendInputFilterInputFilterAwareInterface;
use ZendInputFilterInputFilterInterface;
/** 
* @ORMEntity
* @ORMTable(name="subject")
* @property string $subjectname
* @property int $user_id
* @property int $id
*/
 class Subject implements InputFilterAwareInterface {
  protected $inputFilter;
 /**
 * @ORMId
 * @ORMColumn(type="integer");
 * @ORMGeneratedValue(strategy="AUTO")
 */
protected $id;
/**
 * @ORMColumn(type="string")
 */
protected $subjectname;
/**
 * @ORMManyToOne(targetEntity="EntityUser", inversedBy="subjects")
 * @var User|null
 */
private $user;
/** @return User|null */
public function getUser() {
    return $this->user;
}
/** @param User $user */
public function setUser(User $user) {
    if($user === null || $user instanceof User) {
        $this->user = $user;
    } else {
        throw new InvalidArgumentException('$user must be instance of EntityUser or null!');
    }
}}
然后是我的用户"实体
namespace SubjectEntity;
use DoctrineORMMapping as ORM;
use ZendInputFilterInputFilter;
use ZendInputFilterFactory as InputFactory;
use ZendInputFilterInputFilterAwareInterface;
use ZendInputFilterInputFilterInterface;
/*
* @ORMEntity
* @ORMTable(name="users")
* @property string $username
* @property string $password
* @property int $id
*/
class User implements InputFilterAwareInterface {
 protected $_username;
 protected $_password;
 /**
 * @ORMOneToMany(targetEntity="EntitySubject", mappedBy="user")
 * @var Collection
 */
private $subjects;
/** @ORMId() @ORMColumn(type="integer") @ORMGeneratedValue(strategy="AUTO") @var   int */
protected $_id;
public function __get($property) {
    return $this->$property;
}
public function __set($property, $value) {
    $this->$property = $value;
}
//Getters and setters
/** @return Collection */
public function getSubjects() {
    return $this->comments;
}
/** @param Comment $comment */
public function addSubject(Subject $comment) {
    $this->comments->add($comment);
    $comment->setUser($this);
}
}
推荐答案
你的实体声明不正确:
 * @ORMManyToOne(targetEntity="EntityUser", inversedBy="subjects")
这应该是这样的:
 * @ORMManyToOne(targetEntity="SubjectEntityUser", inversedBy="subjects")
或者,由于两个类共享同一个命名空间,你也可以这样使用:
Or, since the two classes share the same namespace, you can also use this:
 * @ORMManyToOne(targetEntity="User", inversedBy="subjects")
targetEntity 必须是完全限定的类名 (FQCN),除非引用同一命名空间中的类,在这种情况下可以使用短名称(根据最后一个示例以上).
The targetEntity has to be the fully qualified class name (FQCN), except if referring to a class in the same namespace, in which case the short name may be used (as per the last example above).
这篇关于目标实体“某个实体"找不到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:目标实体“某个实体"找不到
				
        
 
            
        基础教程推荐
- 使用 scandir() 在目录中查找文件夹 (PHP) 2022-01-01
 - php中的foreach复选框POST 2021-01-01
 - PHPUnit 的 Selenium 2 文档到底在哪里? 2022-01-01
 - 主题化 Drupal 7 的 Ubercart “/cart"页 2021-01-01
 - 将变量从树枝传递给 js 2022-01-01
 - php中的PDF导出 2022-01-01
 - php 7.4 在写入变量中的 Twig 问题 2022-01-01
 - 如何在数学上评估像“2-1"这样的字符串?产生“1"? 2022-01-01
 - Yii2 - 在运行时设置邮件传输参数 2022-01-01
 - Web 服务器如何处理请求? 2021-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
				
				
				
				