selectAs(): selezionare i campi in DB_DataObject

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'));

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *