Depois de um tempinho parado, lancei mais uma versão do SQLReactor.
Seguem as alterações:
- Correção de bug em orderBy. Agora ordena antes de executar o limit,
como esperado
- OrderBy agora funciona através dos relacionamentos sem necessidade
de fazer eagerload.
- Implementada uma nova forma de busca de dados. O getter.
/** Forma antiga **/
$l = SQLReactor::getList( User, array(
'filter' => array(
array( 'groups->group->id', 1 )
),
'eagerload' => array( 'groups->group' ),
'limit' => 50
) );
var_dump( count( $l ) );
/** Nova forma, usando getter. **/
$l = SQLReactor::getter( User )
->addClause( 'groups->group->id', 1 )
->eagerload( 'groups->group' ),
->limit( 50 ),
->getList();
OBS 1: Obviamente a forma antiga continua funcionando. A nova forma,
além de facilitar a leitura, também permite a reutilização dos
getters. Por exemplo em uma paginação, precisamos primeiro contar os
registros totais depois fazer as queries usando limit e offset. Isso
pode ser feito assim:
Ex:
$getter = SQLReactor::getter( User )
->addClause( 'groups->group->id', 1 )
->eagerload( 'groups->group' ),
->orderBy( 'login' );
$total = $getter->count();
...
$lista = $getter->limit( 50 )->offset( $offset )->getList();
OBS 2: Além do método getList(), também existe o getOne() (para
retornar apenas um registro) e o count(), para retornar a listagem,
como no exemplo acima.
Espero que gostem das novidades.
Espero lançar uma nova versão em breve com mais novidades que estão a
caminho
[]s,
Snit
--
Você está recebendo esta mensagem porque se inscreveu no grupo "SQLReactor Brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para sqlreact...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para sqlreactor-bra...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/sqlreactor-brasil?hl=pt-BR.