これ以上何ができるかわかりません。
このエラーが発生します:
[セマンティカルエラー]0行目、10列目「idEntradaFROM」の近く:エラー:PathExpressionが無効です。StateFieldPathExpressionである必要があります。
これは私の質問です:
$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クエリをダンプすると、次のように表示されます(when 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
SELECTmp.idも実行できます
ただし、mp.idEntrada/mp.idUserは使用しないでください