我不知道我还能尝试什么。

我收到此错误:



这是我的查询:

$query=$em->createQuery("SELECT mp.idEntrada FROM PAVPrimerAvisoBundle:ModeradoPor mp WHERE mp.idUsuario = $userId");

这是我的实体:
class ModeradoPor
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var integer
 *
 * @ORM\ManyToOne(targetEntity="User")
 * @ORM\JoinColumn(name="user", referencedColumnName="id")
 */
private $idUsuario;

/**
 * @var integer
 *
 * @ORM\ManyToOne(targetEntity="Entrada")
 * @ORM\JoinColumn(name="idEntrada", referencedColumnName="id")
 */
private $idEntrada;

/**
 * @var integer
 *
 * @ORM\Column(name="votacio", type="integer")
 */
private $votacio;

/**
 * Get id
 *
 * @return integer
 */
public function getId()
{
    return $this->id;
}

/**
 * Set idUsuario
 *
 * @param integer $idUsuario
 * @return ModeradoPor
 */
public function setIdUsuario($idUsuario)
{
    $this->idUsuario = $idUsuario;

    return $this;
}

/**
 * Get idUsuario
 *
 * @return integer
 */
public function getIdUsuario()
{
    return $this->idUsuario;
}

/**
 * Set idEntrada
 *
 * @param integer $idEntrada
 */
public function setIdEntrada($idEntrada)
{
    $this->idEntrada = $idEntrada;
}

/**
 * Get idEntrada
 *
 * @return integer
 */
public function getIdEntrada()
{
    return $this->idEntrada;
}

/**
 * Set votacio
 *
 * @param integer $votacio
 */
public function setVotacio($votacio)
{
    $this->votacio = $votacio;
}

/**
 * Get votacio
 *
 * @return integer
 */
public function getVotacio()
{
    return $this->votacio;
}

如果我做这个查询:
$query=$em->createQuery("SELECT mp FROM PAVPrimerAvisoBundle:ModeradoPor mp WHERE mp.idUsuario = $userId");

或者
$query=$em->createQuery("SELECT mp.id FROM PAVPrimerAvisoBundle:ModeradoPor mp WHERE mp.idUsuario = $userId");

完美地工作。它只是与 mp.idEntrada。

我的实体中是否有任何拼写错误?

编辑:mp.idUsuario. 也会发生

编辑:
例如,我转储 mysql 查询,它是这样显示的(当 SELECT mp 时)
SELECT m0_.id AS id0, m0_.votacio AS votacio1, m0_.user AS user2, m0_.entrada_id AS entrada_id3 FROM ModeradoPor m0_ WHERE m0_.user = 5

我也可以做 SELECT mp.id

但从不 mp.idEntrada/mp.idUser

最佳答案

SELECT IDENTITY (mp.entrada)FROM PAVPrimerAvisoBundle:ModeradoPor mp WHERE mp.idUsuario = $userId

这解决了这个问题。注意 "IDENTITY"

关于symfony - 尝试执行查询时路径表达式无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15074254/

10-12 04:32