我正在尝试使用EntityManager进行查询并连接到实体 OrderAddress ,但出现此错误:
[语义错误]第0行,“国家”附近的第27列:错误:无效 PathExpression。必须是StateFieldPathExpression。
这是我的做法:
$getAddressQuery = $this->em->createQuery("
SELECT a.country
FROM Oro\Bundle\OrderBundle\Entity\OrderAddress a
WHERE a.id='" . $addressId . "'"
);
我注意到该实体没有定义国家,它是从名为 AbstractAddress 的摘要扩展而来的。
我还尝试扩展 OrderAddress 实体并定义国家/地区,但是它说国家已经存在。所以我做不到。 这是我的扩展方式:
use Oro\Bundle\OrderBundle\Entity\OrderAddress as OroOrderAddress;
/**
* @ORM\Table("oro_order_address")
* @ORM\HasLifecycleCallbacks()
* @ORM\Entity
*/
class OrderAddress extends OroOrderAddress
{
/**
* @var string
*
* @ORM\Column(name="country_code", type="string", length=255, nullable=true)
*/
protected $country_code;
/**
* @var string
*
* @ORM\Column(name="city", type="string", length=255, nullable=true)
*/
protected $city;
/**
* @var string
*
* @ORM\Column(name="postal_code", type="string", length=255, nullable=true)
*/
protected $postal_code;
}
在这种情况下请提供建议。谢谢,祝你愉快。