Il mio script è come questo:Perché l'alias di colonna non funziona in doctrine?
$query = Doctrine_Query::create()
->select('count(p.product_id) as num_a')
->from ('ProductComments p')
->groupBy('p.product_id')
->having('num_a =2 ');
E l'SQL generato è:
SELECT COUNT(i.product_id) AS i__0 FROM productcomments i GROUP BY i.product_id HAVING num_a=2
Così si ottiene un errore quando eseguire l'SQL.
Ho due domande:
perché è l'alias della tabella
'i'
invece di'p'
?perché la clausola
'num_a'
nella clausola non è stata sostituita con'i__0'
, come risolverlo?
Grazie per il suggerimento ...
Grazie per la vostra risposta. Sono completamente d'accordo con te sul fatto che non è necessario conoscere l'alias generato. Quello che mi lascia perplesso è che poiché l'alias per count (p.product_id) è i__0, i__0 dovrebbe essere usato per avere clausola invece di "num_a". – user443281
Riconosco che si trattava di un vecchio post, ma oggi mi sono imbattuto in esso e volevo sottolineare che ci sono casi in cui questa mappatura alias della tabella interna si intromette - se si utilizza una funzione SQL come Within(), si può ' t usare alias di Doctrine all'interno dei parametri della funzione. –