... uno dei metodi preferiti per accedere ad una matrice e recuperarne i valori è quello di usare foreach.Il ciclo foreach non include la query...infatti la query è all'esterno del ciclo.Quest'ultimo ti serve solo a recuperare valori presenti in $object....e nient'altro!
se non recuperassi quei valori come eseguiresti la query?

// se soddisfa la condizione di auto increment
if ($this->_auto_increment) {
//preleva l'ultimo id inserito...Operazione molto comune per successive operazioni su database(quantità di record inseriti,contatori etc)
$query='SELECT LAST_INSERT_ID() AS `id`';
$this->query($query);
//preleva il risultato con il metodo getResult();
$result=$this->getResult();
// e lo restituisce;
return $result['id'];}
//altrimenti non fa altro che restituire l'esecuzione della query(la esegue)
else { return $return;
Cmq come diceva samleo c'è qualcosa di più dietro a questa funzione,perchè si fa riferimento a metodi qui non visibili di una classe preistanziata.Bisogna studiare la classe operativa per capire come si comporta,quali sono i metodi e come lavorano tra di loro,se è una classe capostipite o child.... altrimenti come si fa?Io sono andato a senso perchè più o meno è una situazione molto comune quando si lavora con alcuni famosi framework che fanno uso di astrazione database.
Ti consiglio prima di addentrarti nella cosa di farti una ripassati sulla programmazione ad oggetti...se non altro ti tornerà molto utile...nel proseguire lo studio del codice.