在EasyAdmin上,我对特定实体具有“显示”选项,在该实体中,不同标签中包含许多不同信息。
我为需要生成新实体对象并刷新同一页面(相同标签)的按钮定义了新路由,但是由于其他为其他调用函数(showAction)定义的变量,它不会重定向。
错误:
在null上调用成员函数getCodeFullPath()
这是引发错误的函数:
/**
* @Route("/init/{id}", name="init")
*/
public function callInitWallet(User $id, Request $request)
{
$userWallet = $this->container->get('member')->initFunction($id);
return $this->redirectToRoute('easyadmin',array('entity' => "User", 'action' => 'show', 'userWallet' => $userWallet));
}
这是我在轻松管理中的详细信息功能:
public function showAction()
{
$item = $this->request->attributes->get('easyadmin')['item'];
$this->additionalViewVars['qrCodeUrl'] = $item->getCodeFullPath();
if(!$item->getHash()) {
$this->get('user_qr_code')->generateCodeForUser($item);
return $this->redirect($this->get('request_stack')->getCurrentRequest()->getUri());
}
return parent::showAction();
}
我需要提到showAction api有效,而getCodeFullPath()函数有效。当我触发需要执行callInitWallet()函数的按钮时,它将引发错误。