<?php

class Produto_Model_ValidacoesSubvencaoGruposCulturas extends Agro_Db_Table_Abstract {
	protected $_schema = 'produto';
	protected $_name = 'validacoes_limites_subvencao_grupos_culturas';
	protected $_primary = array('id_validacao_subvencao_grupo','id_cultura');
	public $_paginator = false;

	public function save($idGrupo, $idCultura) {
		$Row = $this->find($idGrupo, $idCultura)->current();

		if (!$Row) $Row = $this->createRow();

		$Row->id_validacao_subvencao_grupo = $idGrupo;
		$Row->id_cultura = $idCultura;

		return $Row->save();
	}

	public function clearCulturas($id) {
		try {
			return $this->_db->query("delete from produto.validacoes_limites_subvencao_grupos_culturas where id_validacao_subvencao_grupo = $id");
		} catch (Exception $e) {
			return false;
		}
	}

	public function getCulturasRelacionados(int $idGrupo)
    {
        $select = $this->select()->setIntegrityCheck(false)->distinct();
        $select->from(array('p' => 'produto.culturas'), array('id', 'ds_nome_cultura'));
        $select->join(
            array('v' => 'produto.validacoes_limites_subvencao_grupos_culturas'),
            'p.id = v.id_cultura',
            null
        );
        $select->where('v.id_validacao_subvencao_grupo = ?', $idGrupo);
        $select->order('ds_nome_cultura');
        $rs = $this->fetchAll($select);

        $ret = array();
        if ($rs->count()) {
            foreach ($rs as $Row) {
                $ret[$Row->id] = $Row->ds_nome_cultura;
            }
        }
        return $ret;
    }
}