Doctrine 2.1'den itibaren CASE WHEN ifadesi destekleniyor ancak üzerinde çok fazla belge yok. Amacım bir fotoğraf bir kullanıcı tarafından favorilere eklendi anlamanın bir boole değeri ayarlamaktır: Doctrine2 varlığındaki "CASE WHEN" koşulunun saklanması
->addSelect("CASE WHEN f.photo is NULL THEN false ELSE true END as is_favorited")
->leftJoin("p.favorites", 'f', 'WITH', 'f.owner = :viewer')
->orderBy("p.date_posted", "DESC")
->setParameters(array("owner" => $owner, "viewer" => $viewer));
Ama kişiler JMSSerializer tarafından json dönüşüyor çünkü ben VAKA ayarlamak istediğiniz
ZAMAN sonuç olarak bir varlık üzerindeki özellik. ->addSelect("CASE WHEN f.photo is NULL THEN false ELSE true END as p.is_favorited")
Ama unforunately Doktrini böyle görünmüyor: DQL bir varlıktaki özelliklerini oluşturulan ayara bir alternatif var mı
[Syntax Error] line 0, col 65: Error: Expected Doctrine\ORM\Query\Lexer::T_FROM, got '.'
?
DQL ile sonuç ayarlamak haritalama çalışır mı? – gremo
- 'addSelect ('f.photo NEDİR DEĞİLDİR') 'aynı etkiye sahip değil miydi (ama belki de Doktrini açmadım)? –
Sadece (CASE WHEN f.photo, NULL THEN false ELSE true END) 'de olduğu gibi' 'CASE' 'i kapsüllemeyi denediniz mi? – prodigitalson