条令、Zend、实体QueryException没有指定的字段或关联

条令、Zend、实体QueryException没有指定的字段或关联,exception,zend-framework,doctrine-orm,Exception,Zend Framework,Doctrine Orm,我有一个OrderEntity。第一次我只需要桌子上的三个属性。但现在我还需要两个。 所以我将这两个属性添加到我的实体中: namespace Stock\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="orders") */ class OrderEntity { /** * @ORM\Id * @ORM\Column(type="integer", name="ord

我有一个OrderEntity。第一次我只需要桌子上的三个属性。但现在我还需要两个。 所以我将这两个属性添加到我的实体中:

namespace Stock\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="orders")
 */
class OrderEntity
{
/** 
 * @ORM\Id 
 * @ORM\Column(type="integer", name="orders_id")
 */
private $ordersId;

/**
 * @ORM\Column(type="string", name="order_number") 
 */
private $orderNumber;

/** 
* @ORM\Column(type="integer", name="stores_id")
*/
private $storesId;

/** 
* @ORM\Column(type="string", length=3, name="currency")
*/
private $currency;

/** 
* @ORM\Column(type="decimal", precision=6, scale=14, name="currency_value")
*/
private $currencyValue;


public function getOrdersId()
{
    return $this->ordersId;
}

public function setOrdersId($ordersId)
{
    $this->ordersId = $ordersId;
}

public function getOrderNumber()
{
    return $this->orderNumber;
}

public function setOrderNumber($orderNumber)
{
    $this->orderNumber = $orderNumber;
}

public function getStoresId()
{
    return $this->storesId;
}

public function setStoresId($storesId)
{
    $this->storesId = $storesId;
}

public function getCurrency() 
{
    return $this->currency;
}

public function getCurrencyValue() 
{
    return $this->currencyValue;
}

public function setCurrency($currency) 
{
    $this->currency = $currency;
    return $this;
}

public function setCurrencyValue($currencyValue) 
{
    $this->currencyValue = $currencyValue;
    return $this;
}
新属性是currency和currencyValue

$query = $this->getEm()->createQuery(
            "SELECT o.ordersId, o.currency FROM "
            . "Stock\Entity\OrderEntity o WHERE "
            . "o.ordersId ='".$orderId."'"
        );
如果我想使用较新的属性创建查询,我会得到一个QueryException:

[Semantical Error] line 0, col 21 near 'currency FROM': Error: Class     Stock\Entity\OrderEntity has no field or association named currency

我不太明白问题出在哪里

通过将此查询仅与ordersId属性一起使用,查询可以在我的帖子中正常工作。重新启动apache后,可以找到该属性。这是魔法:不是魔法。无论何时更改模式内容,都需要执行某种缓存清除过程。如果每个请求都必须完全重新生成所有条令映射信息,那么性能将受到相当大的影响。因此需要缓存。您可能还想为自己的问题写一个答案。这将避免其他人阅读已回答的问题。或者您可以删除您的问题。