我尝试从查询中获取结果
$user = $this->getEntityManager()
->getRepository('ApanelUsersEntityUsercommon')
->findAll();
但是如果我尝试添加到查询联接列,我会遇到错误,没有它,我有很好的结果。这是我需要的JoinColumt:
/**
* @var ApanelUsersEntityUserstatus
*
* @ORMManyToOne(targetEntity="ApanelUsersEntityUserstatus")
* @ORMJoinColumn(name="User_StatusId", referencedColumnName="UserStatusId", nullable=false)
*/
private $userStatusid;
/**
* Set userStatusid
*
* @param ApanelUsersEntityUserstatus $userStatusid
* @return Usercommon
*/
public function setUserStatusid(ApanelUsersEntityUserstatus $userStatusid = null)
{
$this->userStatusid = $userStatusid;
return $this;
}
/**
* Get userStatusid
*
* @return ApanelUsersEntityUserstatus
*/
public function getUserStatusid()
{
return $this->userStatusid;
}
这是一个视图
<?= $user->getUserStatusid(); ?>
但是我有一个错误
可捕获的致命错误:类 DoctrineORMModule\Proxy__CG__\ApanelUsers\Entity\Userstatus 无法转换为第 27 行/home/xtadmin/localhost/panorama-hotel.local/www/module/ApanelUsers/view/apanel-users/index/index.phtml 中的字符串
错误很明显,您无法回显整个关联实体,您必须调用其方法之一,当您调用$user->getUserStatusid()
时,这意味着它将返回ApanelUsersEntityUserstatus
实体的整个对象,因此您无法使用<?= entity ?>
一次回显整个实体
一种可以在ApanelUsersEntityUserstatus
实体中实现__toString()
方法
class Userstatus{
public fundtion __toString(){
return $this->getTitle() // or you can use any other method to retrurn value
}
// other properties with their related getters and setters
}
另一种方式是
<?= $user->getUserStatusid()->getTitle(); ?>
但这也会失败,因为setUserStatusid()
您允许的状态可以为空,因此对于第二个选项,您需要首先检查它是否是ApanelUsersEntityUserstatus
的实例,然后调用其相关的 getter
<?php
$status = $user->getUserStatusid();
if($status instanceof ApanelUsersEntityUserstatus){
echo $status->getTitle();
}
?>