<?
class Produto_Model_CulturasMunicipiosSubvencao extends Agro_Db_Table_Abstract {
    protected $_schema = 'produto';
    protected $_name = 'culturas_municipios_subvencao';
    protected $_primary = array('id_municipio','id_cultura');

    public function relacionados($id_cultura) {
        $Rs = $this->fetchAll('id_cultura = '. $id_cultura);
        $return = array();

        if ($Rs->count()) {
            foreach ($Rs as $Row) {
                $return[] = $Row['id_municipio'];
            }
        }

        return $return;
    }

    public function clear($id_cultura) {
        return $this->getAdapter()->query("DELETE FROM $this->_schema.$this->_name WHERE id_cultura = $id_cultura");
    }

    public function save($municipios, $id_cultura) {
        $this->getDefaultAdapter()->beginTransaction();
        try {
            $this->clear($id_cultura);
            if ($id_cultura && is_array($municipios)) {
                foreach ($municipios as $municipio) {
                    $Row = $this->createRow();
                    $Row->id_cultura = $id_cultura;
                    $Row->id_municipio = $municipio;
                    $Row->save();
                }
            }
            $this->getDefaultAdapter()->commit();
            return true;
        } catch (Exception $e) {
            $this->getDefaultAdapter()->rollBack();
            return false;
        }
    }
}
