<?php
class Eppe_Db_Table_Rowset_Abstract extends Zend_Db_Table_Rowset_Abstract {

	/**
	 * Usuwa elementy Rowset 
	 */
	public function delete() {
		foreach ($this as $row)
			$row->delete();
	}

	/**
	 * Zwraca rowset w postaci tablicy
	 *  
	 * @param1 mixed ($scalar|@array) Nazwy kolumna/y do wyświetlenia
	 * @param2 string $key Nazwa kolumny klucza
	 * @return Tablica z wartościami bazy w formacie klucz => wartość gdzie klucz to pole główne tabeli
	 */
	
	public function toSelect($value = 'name', $key = 'id'){
		if (is_array($value)){
			return $this->toSelectArray($value, $key);
		}  else {
			return $this->toSelectScalar($value, $key);
		}
		
	}
	
	protected function toSelectScalar($value = 'name', $key = 'id') {
		$arr = array();
		foreach ($this as $row) {
			$arr[$row->$key] = $row->$value;
		}
		return $arr;
	}
	
	protected function toSelectArray($values = array('name','price'), $key = 'id') {
		$arr = array();
		foreach ($this as $row) {
			$rowValues = array();
			foreach ($values as $value){
				$rowValues[$value] = $row->$value;
			}
			$arr[$row->$key] = $rowValues;
		}
		return $arr;
	}

}
