Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2012, 05:42
nasy
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta ORM planteamiento

Hola, soy relativamente nuevo con symfony2 y estoy atascado en un problema que me tiene desesperado. He seguido el manual y al parecer hago todo bien, pero me salta un error y no se si el problema de la query o de las relaciones.

Tengo una tabla Discover la cual puede tener varios Article. Es decir un articulo puede ser descubierto varias veces (relacion many to one).

El codigo es el siguiente:


<?php

namespace IT\bagBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

use Doctrine\Common\Collections\ArrayCollection;
use IT\bagBundle\Entity\Discover;
/**
* IT\bagBundle\Entity\Article
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="IT\bagBundle\Entity\A rticleRepository")
*/
class Article
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*
*/
private $id;

/**
* @ORM\OneToMany(targetEntity="Discover", mappedBy="Article")
*/
protected $discovers;

public function __construct()
{
$this->discovers = new ArrayCollection();
}



................
<?php

namespace IT\bagBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use IT\bagBundle\Entity\Article;
/**
* IT\bagBundle\Entity\Discover
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="IT\bagBundle\Entity\D iscoverRepository")
*/
class Discover
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;

/**
* @var integer $articleId
*
* @ORM\Column(name="articleId", type="integer")
* @ORM\ManyToOne(targetEntity="Article", inversedBy="discovers")
* @ORM\JoinColumn(name="id", referencedColumnName="id")
*/
private $articleId;



.......

Y tengo la siguiente query:

class ArticleRepository extends EntityRepository
{
public function findArticleById(1)
{
return $this->getEntityManager()->createQuery('SELECT a FROM
bagBundle:Article a JOIN a.discovers d
WHERE d.articleId = 1')->execute();
}
}


Y obtengo el siguiente error:

Notice: Undefined index: Article in /Applications/MAMP/htdocs/bag/vendor/doctrine/lib/Doctrine/ORM/Query/SqlWalker.php line 747



El problema (como soy principiante) es que no se donde esta el fallo, si en la query el las relaciones o en el planteamiento

Alguna ayuda?? muchas gracias