Doctrine orm zf2原则2-输出一通单向

Doctrine orm zf2原则2-输出一通单向,doctrine-orm,zend-framework2,mapping,associations,entitymanager,Doctrine Orm,Zend Framework2,Mapping,Associations,Entitymanager,在注释OneToOne单向后,我希望输出连接的列,而不使用表单 一个人实体有一个列来存储国家实体的id 我可以做什么:我可以使用带有下拉选择的表单将国家的id存储到People实体中,该表单绑定到国家实体 问题:我无法输入希望正确的联接表的值国家/地区 人民实体: <?php namespace People\Entity; use Doctrine\ORM\Mapping as ORM; // ... /** * A people entity. * * @ORM\Entity *

在注释OneToOne单向后,我希望输出连接的列,而不使用表单

一个人实体有一个列来存储国家实体的id

我可以做什么:我可以使用带有下拉选择的表单将国家的id存储到People实体中,该表单绑定到国家实体

问题:我无法输入希望正确的联接表的值国家/地区

人民实体:

<?php 
namespace People\Entity;

use Doctrine\ORM\Mapping as ORM;
// ...

/**
* A people entity.
*
* @ORM\Entity
* @ORM\Table(name="icd_people")
* @property int $id
// ...
* @property string $ic_hq_country
*/
class People implements InputFilterAwareInterface
{
protected $inputFilter;

/**
* @ORM\Id
* @ORM\Column(type="integer");
*/
protected $id;

/**
* @ORM\Column(type="integer")
* @ORM\OneToOne(targetEntity="Country")
* @ORM\JoinColumn(name="ic_hq_country", referencedColumnName="id")
*/
protected $ic_hq_country;

// getter and setter
}
提供国家id而非名称的视图:

事实上,我希望这样做是可能的,输出国家名称而不是id:


感谢您的阅读,感谢您的帮助,这将引导我走向正确的方向

您不应在
人员
实体的
$ic\u hq\u country
字段中使用
@列anotation

/**
* @ORM\OneToOne(targetEntity="Country")
* @ORM\JoinColumn(name="ic_hq_country", referencedColumnName="id")
*/
protected $ic_hq_country;
这样,希望
ic\u hq\u country
将成为实体的代理,而不是id

因此,在您看来,您可以使用:

<?php echo $pea->ic_hq_country->getId();?>

而且

<?php echo $this->escapeHtml($pea->ic_hq_country->getCountry());?>


你看过我的答案了吗?对不起!很忙,我想我收到了stackoverflow的一封信,上面写着一封信,有人回答了。非常感谢你的回答,它确实帮助了我!对不起,没有认出!
<?php echo $pea->ic_hq_country->getId();?>
<?php echo $this->escapeHtml($pea->ic_hq_country->getCountry());?>