Si può decidere di utilizzare solo alcuni campi di una tabella, specialmente quando viene effettuata una join tra più tabelle e di assegnare dei nomi specifci.
Il manuale è poco chiaro
Sul manuale ufficiale di DB_DataObject, alla pagina dedicata a selectAs() sono riportati degli esempi che a prima vista possono fuorviare il lettore (che magari spera di trivare un quick reference dei metodi).
Volendo selezionare solo alcuni campi di una tabella il manuale, nell’esempio recita :
// to generate a restricted list.. "person.age as age , person.name as name"
$person->selectAs(array('age','name'));
A questo punto prova e riprova, ma la query generata risulta avere sempre un bell’asterisco davanti la corretta richiesta dei campi specificati
SELECT *, person.age as age,person.name as name ....
Il fatto è che per avere nella SELECT solo i campi scelti, bisogna eseguire un selectAdd() senza alcun parametro per rimuovere l’asterisco di default.
// prima puliamo i campi
$person->selectAdd();
// e poi selezioniamo i campi che vogliammo
$person->selectAs(array('age','name'));