0
paises我已经FabricanteDistribuidor.php
实体与此代码:如何从关系
class FabricanteDistribuidor
{
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Pais", mappedBy="fabricanteDistribuidor", cascade={"persist"})
*/
private $paises;
/**
* Set paises
*
* @param \AppBundle\Entity\Pais $pais
* @return FabricanteDistribuidor
*/
public function setPaises(\Sencamer\AppBundle\Entity\Pais $pais)
{
$this->paises[] = $pais;
return $this;
}
/**
* Get paises
*
* @return Doctrine\Common\Collections\Collection
*/
public function getPaises()
{
return $this->paises;
}
}
和相关Pais.php
实体代码:
class Pais
{
use IdentifierAutogeneratedEntityTrait;
use NamedEntityTrait;
use ActiveEntityTrait;
/**
* @ORM\ManyToMany(targetEntity="Sencamer\AppBundle\Entity\FabricanteDistribuidor", inversedBy="paises", cascade={"persist"})
* @ORM\JoinTable(name="negocio.fabricante_distribuidor_pais", schema="negocio",
* joinColumns={@ORM\JoinColumn(name="fabricante_distribuidor", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="pais_id", referencedColumnName="id")}
*)
*/
protected $fabricanteDistribuidor;
/**
* Add fabricanteDistribuidor
*
* @param AppBundle\Entity\FabricanteDistribuidor $fabricanteDistribuidor
*/
public function addfabricanteDistribuidor(\AppBundle\Entity\FabricanteDistribuidor $fabricanteDistribuidor)
{
$this->fabricanteDistribuidor[] = $fabricanteDistribuidor;
}
/**
* Get fabricanteDistribuidor
*
* @return Doctrine\Common\Collections\Collection
*/
public function getfabricanteDistribuidor()
{
return $this->fabricanteDistribuidor;
}
}
我想现在就得到相关paises
从FabricanteDistribuidor
如下,我做错了,因为我不能得到他们的名字,所以我的代码有什么错?
public function obtenerDetallesFabricanteAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('AppBundle:FabricanteDistribuidor')->find($request->query->get('id'));
if ($request->isXmlHttpRequest()) {
$response['entities'] = array();
$dataResponse = array();
// rest of columns ....
if ($entity->getPaises() instanceof Pais) {
$paises = array();
foreach ($entity->getPaises() as $pais) {
$paises[] = $pais->getNombre();
}
$dataResponse['paises'] = $paises;
}
$response['entities'][] = $dataResponse;
return new JsonResponse($response);
}
}
也许正确的做法是要经过一个学说存储库中的DQL但随后是性能问题,在这里我不是专家,所以需要一个线索或解决类似的问题。
现在有了这个相同的类我也关注相关Pais
类,因为当你看到我加相逆的一侧$fabricanteDistribuidor
所以,我必须要插入此任我要插入一个新的Pais
或仅仅是告诉学说如何处理里面的代理?我还没有清楚如何拥有/反转的工作,也许是由于我做了我的代码显示的东西。有关这方面的任何建议吗?
不,这不是问题我仍然得到NULL – ReynierPM 2014-10-27 19:40:44