尝试获取关系中的数据时出现 Symfony 错误
Posted
技术标签:
【中文标题】尝试获取关系中的数据时出现 Symfony 错误【英文标题】:Symfony Error when trying to get data in a relationship 【发布时间】:2016-03-12 10:43:33 【问题描述】:Symfony 现在正在折磨我。我正在尝试从表中获取数据,其中列将关系与另一个表中的 id 相关联。这就是我的控制器功能:
/**
* @Route("/proposta/id", defaults="id"=null)
*/
public function mostraAction($id)
$model = $this->getDoctrine()->getManager();
$lista = $model->getRepository('AppBundle:Propostes')->find($id);
$em = $this->getDoctrine()->getManager();
$listaVotacions = $em->getRepository('AppBundle:Votacions')->findByIdProposta($id);
return $this->render(':Proposta:index.html.php',
array('lista'=>$lista,'listaVotacions'=>$listaVotacions));
那不行,当我执行这个函数时,我的服务器掉了,我得到这个错误:
[ERROR] Built-in server terminated unexpectedly.
这是我的职业类别:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Votacions
*
* @ORM\Table(name="votacions")
* @ORM\Entity(repositoryClass="AppBundle\Repository\VotacionsRepository")
*/
class Votacions
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Propostes")
*/
private $idProposta;
/**
* @ORM\ManyToOne(targetEntity="Usuaris")
*/
private $idUsuari;
/**
* @var bool
*
* @ORM\Column(name="vot", type="boolean", nullable=true)
*/
private $vot;
/**
* Get id
*
* @return int
*/
public function getId()
return $this->id;
/**
* Set idProposta
*
* @param integer $idProposta
*
* @return Votacions
*/
public function setIdProposta($idProposta)
$this->idProposta = $idProposta;
return $this;
/**
* Get idProposta
*
* @return int
*/
public function getIdProposta()
return $this->idProposta;
/**
* Set idUsuari
*
* @param integer $idUsuari
*
* @return Votacions
*/
public function setIdUsuari($idUsuari)
$this->idUsuari = $idUsuari;
return $this;
/**
* Get idUsuari
*
* @return int
*/
public function getIdUsuari()
return $this->idUsuari;
/**
* Set vot
*
* @param boolean $vot
*
* @return Votacions
*/
public function setVot($vot)
$this->vot = $vot;
return $this;
/**
* Get vot
*
* @return bool
*/
public function getVot()
return $this->vot;
这是我的存储库 Votacions:
namespace AppBundle\Entity;
use Doctrine\ORM\EntityRepository;
class VotacionsRepository extends EntityRepository
public function findByIdProposta($id)
return $this->getEntityManager()
->createQuery(
'SELECT * FROM AppBundle:Votacions WHERE idProposta ='.$id
)->getResult();
有人可以帮助我:(?
非常感谢。
卡尔斯
【问题讨论】:
【参考方案1】:只调用一次“GetDoctrine”
-> 找到你的列表对象
-> 从 $lista 对象访问 idProposta
-> Proposta 实体的 id
public function mostraAction($id)
$model = $this->getDoctrine()->getManager();
$lista = $model->getRepository('AppBundle:Votacions')->find($id);
$lista->getIdProposta()->getId();
//..
return $this->render(':Proposta:index.html.php',
array('lista'=>$lista,'listaVotacions'=>$listaVotacions));
【讨论】:
Sorry lista 也是一个查找所有的查询。我更新了我的功能,所以你可以看到它是什么。你的解决方案也不起作用:( 内部控制器你可以访问 $listaVotacions->getIdProposta()->getWhateverName(); 内部树枝模板 listaVotacions.idProposal.whateverName 问题是我无法获取值。当我在没有关系的类中 findBySomething 工作正常时,当我尝试在有关系的类中使用 findBySomething 时,服务器正在下降并且在 php 调试中没有显示任何错误。 我更新我的答案检查查询并告诉我这是否有效以上是关于尝试获取关系中的数据时出现 Symfony 错误的主要内容,如果未能解决你的问题,请参考以下文章
cURL 错误 60:尝试使用 symfony 时出现 ssl 认证问题
当我尝试使用 symfony 创建实体时出现 Aborted 错误消息 [重复]