2017-07-12 11 views
0

こんにちは、私は次しまっライン教義クエリビルダサブストリング

Notice: Object of class Doctrine\ORM\Query\Expr\Func could not be converted to int 

この例外がスローされた理由を私は理解しますが、それが可能なストリングがどのように基づいて取得することですクエリビルダーの文字列サイズ

+0

あなたは何をしたいしていますか? 'SQL'クエリを表示できますか? –

答えて

0

OKだから-4文字列としてCONCATしていLENGTH("p.website") に ... $qb->expr()->length("p.website")が最初に変換され、式がそれを得ました。あなたのEntityRepository

$qb->expr()->length("p.website") **.'-4'**

$query = $qb->select($qb->expr()->substring("p.website",1,$qb->expr()->length("p.website").'-4)) 
    ->from("AppBundle\Entity\Image" ,"p") 
    ->getQuery(); 
0

public function getAll() 
{ 
    $qb = $this->createQueryBuilder('p'); 
    $query = $qb 
      ->select($qb->expr()->substring("p.website", 1, $qb->expr()->length("p.website").'-4')) 
      ->getQuery(); 
    return $query->getResult(); 
}