我正在尝试在现有数据库之上添加 Doctrine。我让 Doctrine 生成带注释的实体并从那里进行调整。当我尝试加载下面的实体时,出现错误 PHP Fatal error: Uncaught exception 'ReflectionException' with message 'Property Users\\User::$resellerID does not exist'
class User
{
/* ... */
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToOne(targetEntity="\Resellers\Reseller")
* @ORM\JoinTable(name="reseller",
* joinColumns={
* @ORM\JoinColumn(name="resellerID", referencedColumnName="resellerID")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="resellerID", referencedColumnName="resellerID")
* }
* )
*/
private $reseller;
/* ... */
}
user
和 reseller
表都有 resellerID
列。我的理解是,为了加入 ID 列,您不会将 ID 列添加为实体类中的属性。那么是什么导致了 ReflectionException?
最佳答案
由于我已将自动生成的属性从 resellerID
重命名为 reseller
(在尝试使用它之后),结果我需要清除 Doctrine 缓存。
php vendor/bin/doctrine.php orm:clear-cache:result
php vendor/bin/doctrine.php orm:clear-cache:query
php vendor/bin/doctrine.php orm:clear-cache:metadata
或者,如果你使用 Symfony 和 Doctrine:
php bin/console doctrine:cache:clear-result
php bin/console doctrine:cache:clear-query
php bin/console doctrine:cache:clear-metadata
关于php - Doctrine ReflectionException 属性不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26187097/