symfony2 Lehre select IFNULL
Ok, ich habe diesen code:
SELECT
IFNULL(s2.id,s1.id) AS effectiveID,
IFNULL(s2.status, s1.status) AS effectiveStatus,
IFNULL(s2.user_id, s1.user_id) as effectiveUser,
IFNULL(s2.likes_count, s1.likes_count) as effectiveLikesCount
FROM statuses AS s1
LEFT JOIN statuses AS s2 ON s2.id = s1.shared_from_id
WHERE s1.user_id = 4310
ORDER BY effectiveID DESC
LIMIT 15
Und ich muss ihn neu schreiben zu querybuilder. Sowas in der Art?
$fields = array('IFNULL(s2.id,s1.id) AS effectiveID','IFNULL(s2.status, s1.status) AS effectiveStatus', 'IFNULL(s2.user_id, s1.user_id) as effectiveUser','IFNULL(s2.likes_count, s1.likes_count) as effectiveLikesCount');
$qb=$this->_em->createQueryBuilder()
->select($fields)
->from('WallBundle:Status','s1')
->addSelect('u')
->where('s1.user = :user')
->andWhere('s1.admin_status = false')
->andWhere('s1.typ_statusu != :group')
->setParameter('user', $user)
->setParameter('group', 'group')
->leftJoin('WallBundle:Status','s2', 'WITH', 's2.id=s1.shared_from_id')
->innerJoin('s1.user', 'u')
->orderBy('s1.time', 'DESC')
->setMaxResults(15);
var_dump($query=$qb->getQuery()->getResult());die();
Dieser Fehler ist
[Syntax Error] line 0, col 7: Error: Expected known function, got 'IFNULL'
Ja, genau wie die Fehlermeldung sagt - Doctrine query language nicht weiß solche Funktion. Gefunden Antwort zu einer ähnlichen Frage stackoverflow.com/a/9110213/1727046
ja, Herr, ich sah es, aber ich weiß nicht... wie kann ich "installieren"?
ja, Herr, ich sah es, aber ich weiß nicht... wie kann ich "installieren"?
InformationsquelleAutor EnchanterIO | 2013-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden VERSCHMELZEN statt IFNULL wie diese
VERSCHMELZEN Sie geben den ersten Wert, der nicht null in der Liste, so dass, wenn A null und B nicht null ist, dann
COALESCE(A,B)
zurück B.CASE WHEN
in einemORDER BY
.InformationsquelleAutor Thierry
Gibt es eine Lehre, Erweiterung fügt hinzu, dass dies unter anderem.
Dies ist der DQL-Datei von IFNULL.
https://github.com/beberlei/DoctrineExtensions/blob/master/src/Query/Mysql/IfNull.php
In diesem Kapitel wird erklärt, wie Sie Sie verwenden.
http://symfony.com/doc/2.0/cookbook/doctrine/custom_dql_functions.html
InformationsquelleAutor Philipp