zf2 \Zend\Db\Sql\, Sql mit Prädikat in der where-Bedingung
ich wirklich nicht bekommen, die zeigen, wie die Verwendung von Prädikaten, die im zend framework 2.
dies ist, was ich habe:
$sql->select()
->columns(array('GroupedColum'
,'minValue' => new Expression('min(ValueColumn)')))
->from('ValueTable')
->group('GroupedColum')
->order('minValue')
->order('GroupedColum')
->limit(10);
dies ist in Ordnung, die
nun will ich gelten somethin wie, dass:
$predicate = new Zend\Db\Sql\Predicate\Predicate();
$sql->where($predicate->greaterThan('filterColumn','20);
dies ist, was ich versucht habe, es wirft keinen Fehler, aber es funktioniert nicht 🙁
Dies ist, was ich erwarte, wie SQL:
select GroupedColum
, min(ValueColumn) as minValue
from ValueTable
where filterColumn > 20
group by GroupedColum
order by minValue
GroupedColum
limit 10;
sollten Sie Ihre Lösung als Antwort.
getan, vielen Dank für die Beratung!
getan, vielen Dank für die Beratung!
InformationsquelleAutor RomanKonz | 2012-09-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe das problem gelöst, indem der source-code von
zf2
Wenn Sie wissen, wie zu tun, es ist wirklich einfach, den obigen code war fast richtig!
Statt
verwenden Sie
es ist eine leere abgeleitete Klasse, das ist verwendet in Zend\Db\Sql\, Sql
dies ist die komplette arbeiten Beispiel:
InformationsquelleAutor RomanKonz
Etwas verspätet, aber Sie können auch erreichen dies, indem Sie tun,
__Holen Sie sich die Magische Methode von \Zend\Db\Sql\Select hat einen Fall, wo der gibt den aktuellen where () - Prädikat, das Ihnen ermöglicht, komplexere Dinge wie
vs
Für eine Liste aller Prädikate zur Verfügung, die in ZF 2 (2.1.0) aus der Where-Prädikat finden Sie unter:
InformationsquelleAutor fyrye