Cercando di ottenere una selezione nidificata utilizzando Zend\Db\Sql\Select
e non riesci a vedere nulla nella documentazione o su Google.Nidificato Seleziona con ZF2
Volendo fare qualcosa di simile:
SELECT
table1.*,
(SELECT x,y,z FROM table2 WHERE table2.a = table1.a) as b
FROM table1
Senza la qualcosa SELECT nidificato, sarebbe simile a questa:
$select = new Zend\Db\Sql\Select;
$select
->columns(array(
'*'
))
->from('table1')
ZF1 guardato sulla creazione di una voce di selezione secondaria e poi aggiungerlo come Espressione all'interno dell'elenco di colonne ma in ZF2 si lamenta di un'espressione che deve essere una stringa.
Modifica: la selezione nidificata deve essere come una colonna mentre si finisce con le righe moltiplicate quando si utilizza GROUP BY sullo stesso nome di colonna. Questa è la domanda corretta che sto cercando di entrare in Zend\Db\Sql\Select
:
SELECT
users.id,
(SELECT count(explorations.id) FROM explorations WHERE user_id = users.id) as total_explorations,
count(villages.id)
FROM
users
INNER JOIN
villages
on (villages.user_id = users.id)
GROUP BY
users.id
Questo è attualmente ciò a cui sono tornato da quando non ero in grado di farlo. Ho appena scritto l'SQL raw come hai detto, ma poi la metà è astratta e l'altra metà grezza: D Pensavo che ZF2 lo avrebbe semplicemente permesso all'interno della sezione colonne –