在光電測試中有一個投票具有「imageId」字段的實體。使用連接時的原則查詢生成器錯誤
我想得到一個查詢,其中包含投票ID和投票ID攜帶的圖像的文件名。 實體看起來是這樣的:
class Vote
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @ORM\Column(type="integer", name="image_id")
* @var integer $imageId
* @ORM\ManyToOne(targetEntity="Image")
* @ORM\JoinColumn(name="image_id", referencedColumnName="id")
*/
protected $imageId;
/**
* @ORM\Column(type="datetime", name="date")
*/
protected $date;
而且圖像被鏈接到這樣的:
class Image {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @ORM\Column(type="string", length=255, name="file_name")
* @var string $fileName
*/
protected $fileName;
現在我是想用這個查詢器得到的結果出來:
$votes = $qb -> select("v.id, i.fileName, v.date")
->from("AppBundle:Vote", "v")
->join("AppBundle:Image", "i")
->orderBy("v.id", "DESC")
->getQuery();
在此配置中使用它給了我一個錯誤說:
Expected Literal, got 'BY'
但除去排序依據後,我得到這樣的結果
Error: Expected Doctrine\ORM\Query\Lexer::T_WITH, got end of string.
我知道,錯誤鏈接的事實,我沒有使用內加入WITH
PARAM,但想這個工作100%好,並完全通過docrine關係。
Whay可能是問題,我該如何解決它?
- >加入( 'v.imageId', 'I') – LBA
@LBA'錯誤:類的appbundle \實體\投票沒有協會命名imageId' – aln447