Lumine 1.5.7
Sáb, 10 de julho de 2010 - as 19h28 - 4 comentários
Esta versão traz atualizações importantes e novas funcionalidades!
A próxima tarefa agora é atualizar a documentação.
Release notes:
- Na model, um parametro para o find pode ser array, e lumine fara com where in
- Na model, um parametro para o get pode ser array, e lumine fara com where in
- Lumine Base implementa a classe Iterator
- Quando uma nova consulta e efetuada em um mesmo objeto, a consulta anterior e liberada (freed)
- Quando uma conexao e fechada, os resultados abertos sao liberados (freed)
- Implementado o metodo fetch_row(int $row)
- Adiciona contra-barras no tipo da coluna (enum, porque contem aspas simples)
- Correcao do dialeto para Firebird - Enviado por Paulo Cesar Garcia
- No momento do update, retirava o alias. Depois de realizar, agora volta o alias que estava antes
- Bug corrigido: assinatura do metodo setConnection do dialeto do Firebird esta incompativel com a interface
- Correcao para conexao com o firebird (nao colocar o numero da porta)
- Correcao para a engenharia reversa usando o form white (fazer group by nos registros somente quando for MySQL)
- A contagem de linhas do firebird e feita pelos registros no dataset
- Metodo getLink adicionado (Lumine_Model)
- Quando o metodo nao existir, nem em plugins, dispara excecao
- Possivel de fazer join's aninhados utilizando as preferencias quando trabalhando com as Models (sugestao de Nelson Martucci)
- Criada a classe Lumine_AddOn para possibilitar inclusao de add-ons principalmente na engenharia reversa
- Quando um parametro nao esta setado nas opcoes, o valor null e setado automaticamente, para evitar warnings. Somente na primeira vez ele e emitido.
- Alteracoes na tela de engenharia reversa para suportar add-ons
- As opcoes do tipo de campo enum sao adicionadas ao array de opcoes do campo com o indice option_list
- Beta: Classes auxiliares para trabalhar com arvore de dados
- Beta: Dialeto para SQLServer (MsSQL). Testes efetuados com a versao 2008R2
Você pode baixar na seção de downloads!
Comentários
Por Hugo Ferreira da Silva enviado em 03 de setembro de 2010, as 08:22
Danilo,
Provavelmente você não colocou as chaves estrangeiras corretamente. Se você colocou as constraints no banco de dados, Lumine não será capaz de gerar o mapeamento corretamente.
Você gera-los a partir da engenharia reversa ou manualmente.
@braços
Por Hugo Ferreira da Silva enviado em 03 de setembro de 2010, as 08:21
Olá Flávio,
Relacionamentos many-to-one também são suportados.
No exemplo da agenda, se observar o mapeamento de "Telefone", você verá que o campo que liga à "Pessoa" é uma chave estrangeira.
Você pode fazer join para recuperar a Pessoa ou chamar o método _getLink, por exemplo:
$telefone = Telefone::staticGet( 1 );
$pessoa = $telefone->_getLink('idPessoa');
Ou fazer uma consulta com join
$telefone = new Telefone();
$telefone->alias('t')
->join(new Pessoa(),'inner','p')
->get( 1 );
@braços e fique com Deus!
Por Flávio Ribeiro enviado em 02 de setembro de 2010, as 22:17
Em todos seus exemplos do uso do lumine e na própria documentação vejo você usar relacionamentos MANY_TO_MANY e ONE_TO_MANY, não vejo relacionamentos como MANY_TO_ONE o qual tenho extrema necessidade de utilizá-los.
Como no seu exemplo de Agenda, uma pessoa possui um array de telefones (ONE_TO_MANY), porém tenho a necessidade de, a partir de um telefone, saber a Pessoa a ele relacionado (MANY_TO_ONE)... como eu faria isso? em vez de ter no telefone apenas $idpessoa; teria o objeto $pessoa em que me retornaria os dados da mesma.
Estarei aguardando resposta..
Por Danilo Luiz enviado em 28 de julho de 2010, as 00:40
Olá, Meu amigo
resolvi utilizar o lumine em uma aplicação, mas estou com problemas pois o metodo join não está funcionando corretamente você saberia dizer por que ?
estou fazendo um join da seguinte maneira
$City = new Cidades;
$States = new Estados;
$Bair = new Bairro;
$States->join($Bair, 'INNER','b');
$States->find();
o seguinte erro está retornando
Fatal error: Uncaught exception 'Lumine_SQLException' with message 'Unknown column 'p.id_bairro' in 'field list'' in D:\sites\IMOBILIARIAS\sistema_imobiliario\lumine\lib\Base.php:4131 Stack trace: #0 D:\sites\IMOBILIARIAS\sistema_imobiliario\lumine\lib\Base.php(401): Lumine_Base->_execute('SELECT estados....') #1 D:\sites\IMOBILIARIAS\sistema_imobiliario\bairro.php(88): Lumine_Base->find() #2 {main} thrown in D:\sites\IMOBILIARIAS\sistema_imobiliario\lumine\lib\Base.php on line 4131
mexendo um pouco encontrei a execução da sql que está sendo executada da seguinte maneira:
SELECT estados.cod_estado as "codEstado", estados.uf as "uf", estados.estado as "estado", estados.cod_pais as "codPais", p.id_bairro as "idBairro", p.ds_bairro as "dsBairro", p.cod_cidade as "codCidade" FROM estados
no caso está selecionando somente 1 tabela como faço para arrumar isso ?