Espressioni
Il query builder Select supporta l’uso di espressioni nell’elenco dei campi. Esempi di espressioni includono «il campo età raddoppiato», «il conteggio di tutti i campi name» e la sottostringa del campo title. Ricorda che molte espressioni possono utilizzare funzioni SQL, e non tutte le funzioni SQL sono standardizzate per tutti i database. Lo sviluppatore del modulo deve assicurarsi di utilizzare solo espressioni compatibili con i database supportati. (Vedi Elenco delle funzioni e degli operatori)
Per aggiungere un’espressione a una query, utilizza il metodo addExpression().
$count_alias = $query->addExpression('COUNT(uid)', 'uid_count');
$count_alias = $query->addExpression('created - :offset', 'timestamp', array(':offset' => 3600));
La prima riga sopra aggiungerà «COUNT(uid) AS uid_count» alla query. Il secondo parametro è l’alias per il campo. Nel raro caso in cui l’alias sia già utilizzato, verrà generato un nuovo alias, e il valore restituito da addExpression() sarà l’alias effettivamente utilizzato. Se l’alias non è specificato, verrà generato un valore predefinito «expression» (oppure expression_2, expression_3, ecc.).
Il terzo parametro opzionale è un array associativo di valori segnaposto, che vengono utilizzati come parte dell’espressione.
Nota che alcune espressioni SQL potrebbero non funzionare se non accompagnate da una clausola GROUP BY, aggiunta tramite $query->groupBy(). Lo sviluppatore deve assicurarsi che la query generata sia effettivamente valida.