/** * Loads an array of typed objects of a given class (same class as current object by default) * which inherit from this class. * @access private * * @param string $class [optional] class name * @param string $key [optional] key name in db to use as key of array * @param array $additionalVars [optional] array of string additional key names to add as vars to object * @return array of objects of the same class (empty array if no objects) */ function & loadTrueObjects( $class = null, $key = "", $additionalVars = null ) { if ( $additionalVars === null ) { $additionalVars = array(); } $objectsArray = array(); $resultsArray = $this->_db->loadAssocList( $key ); if ( is_array($resultsArray) ) { if ( $class == null ) { $class = get_class($this); } foreach ( $resultsArray as $k => $value ) { $objectsArray[$k] = new $class( $this->_db ); // mosBindArrayToObject( $value, $objectsArray[$k], null, null, false ); $objectsArray[$k]->bind( $value, null, null, false ); foreach ( $additionalVars as $index ) { if ( array_key_exists( $index, $value ) ) { $objectsArray[$k]->$index = $value[$index]; } } } } return $objectsArray; }