可捕获的致命错误:类教义的对象ORMModuleProxy__CG_



我尝试从查询中获取结果

$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();
    }
?>

相关内容

  • 没有找到相关文章

最新更新