Vejo a vantagem de usar um ORM como o Datamapper na hora de mapear
relacionamentos, é muito mais simples de manter suas integridades. Também na
hora de validar os dados antes de inserções, e por aí vai...
Só esse exemplo aí do userguide já justifica:
// Get user foo$u = new User();$u->*where*('username', 'foo')->*get*();
// Get country object for Australia$c = new
Country();$c->*where*('name', 'Australia')->*get*();
// Relate user foo to country Australia$u->*save*($c);
Depois de aprendido, tudo funciona num piscar de olhos.
--
*Diego Walisson*
*[email protected]
twitter.com/dwalisson
facebook.com/dwalisson*
Em 12 de maio de 2011 06:21, Rafael V. de Oliveira
<[email protected]>escreveu:
> Concordo com a parte da migração só do banco de dados. É raro.
>
> Porém deixe eu espor meu cenário.
> Nós aqui criamos sites para n clientes. Então temos um CMS básico. Porém
> por vezes o cliente quer que este CMS rode em SQL Server ou em Oracle, pois
> o cliente já tem um ERP rodando junto com estes bancos de dados.
> Se eu tivesse um CMS só para MySQL, teria que reescrever SQLs para outro
> banco de dados.
> Aí que entra o AR do CI ou o DataMapper, que não são Jesus, mas salvam \o/
>
> Já em relação ao DataMapper, não desista. Depois que eu comecei a usar o
> tal, já não troco por nada.
>
> Vamos imaginar um Blog com posts e comentários
>
> class Post extends DataMapper
> $has_many = array('comentario');
> class Comentario extends DataMapper
> $has_one = array('post');
>
> Então, ao listar o posts, faço a mágica assim:
> foreach ( $posts as $post )
> $comentarios = $post->comentario->get();
> //Se usasse só $comentarios, pegaria o primeiro comentário, e não
> todos com o objeto->all (é um array com uma classe em cada item)
> foreach ( $comentarios->all as $comentario )
> echo $comentario->nome;
>
> O DataMapper tem inumeras funções, muitas delas eu não uso pois não preciso
> (ou não entendi :S)
> Confesso que sou meio cabaço ainda no DataMapper (ou como dizem aqui em
> Portugal, maçarico). Porém a vontade de aprender mais é tão grande que me
> disponho a tentar achar solução pro teu problema. Fatalmente o teu problema
> poderá ser o meu algum dia.
>
> Das-me um exemplo da tua dificuldade e prometo que vou pensar numa solução.
> Ou ao menos onde está o problema ;)
>
> Abraços
>
> Em 2011/05/12, às 01:48, Ademir Cristiano Gabardo escreveu:
>
> >
> > Seu ponto é válido, com absoluta certeza, este é o conceito do AR.
> > Porém (parece que tudo nessa vida tem um porém).
> > Alguém já obteve sucesso utilizando o SQL Server por exemplo com o Active
> > Record?
> > Outra coisa, qual a probabilidade de mudar o banco de dados da aplicação?
> > Ainda que exista, (como no caso de algum Server que por exemplo não rode
> > Postgre e você precise migrar por necessidade do Server) ela é bastante
> > baixa. (Especialmente para mim que posso ditar a configuração do Server
> na
> > minha empresa).
> > Eu trabalho com Selects bastante complexos, as vezes com 10 tabelas ao
> mesmo
> > tempo, muitos Joins, e algumas funções matemáticas direto no DB.
> > Quando me deparo com estas situações, nem sempre os ORM atendem o que eu
> > preciso, nem mesmo o Active Record.
> > Mas ORM é uma tendência, e acredito que toda ferramenta que venha a nos
> > auxiliar é valida, apenas eu pessoalmente não me afeiçoei por ORM ainda.
> > Este assunto é recorrente aqui na lista, e anteriormente já me intitulei
> > como "dinossauro" neste assunto.
> > Talvez um capitulo sobre ORM seja o empurrãozinho que está faltando para
> eu
> > começar a usar.
> > :-]
> > Abraços
> > Ademir
> >
> >
> > -----Mensagem original-----
> > De: [email protected]
> > [mailto:[email protected]] Em nome de Evaldo Junior
> > Enviada em: quarta-feira, 11 de maio de 2011 21:16
> > Para: CodeIgniter Brasil
> > Assunto: Re: [CodeIgniter] DataMapper + Help
> >
> > Descordo do Ademir na questão de escrever SQL puro em vez de usar o
> > Active Record. Fazendo isso você corre o risco de deixar sua aplicação
> > engessada em um tipo de banco de dados. O CI converte as estruturas
> > montadas com o AR em código SQL nativo para o banco que você está
> > usando. Infelimente SQL não é tao padronizado assim =(
> >
> > Acho válido investir um tempo para aprender algo novo e que, mesmo
> > complicado de aprender, pode lhe poupar horas depurando e mantendo o
> > código que hoje foi "mais rápido" de escrever.
> >
> > Abraços
> >
> > InFog
> >
> > On Wednesday, May 11, 2011, Cristiano Santos Oliveira
> > <[email protected]> wrote:
> >> Sim e não se esqueça da integração de um ORM :) seja lá qual for
> > rsrsrsrsrss
> >>
> >> Em 11 de maio de 2011 19:21, Ademir Cristiano Gabardo <
> >> [email protected]> escreveu:
> >>
> >>> Não, absolutamente,
> >>> Eu justamente estou vendo que o MVC como padrão de projeto é mais amplo
> e
> >>> que os conhecimentos ganhos em estudar o CI vem me ajudando no
> > aprendizado
> >>> do .NET
> >>> Estou usando o CI 2.0 para meus novos projetos e está funcionando muito
> >>> bem.
> >>> Estes próximos meses estão bastante tumultuados para mim.
> >>> Mas estou começando a montar material para o 2.0 já.
> >>> :-)
> >>> Tem muita gente comprando o livro, e pela quantidade de e-mail´s que
> > tenho
> >>> recebido diariamente posso dizer orgulhoso que com certeza essa
> > empreitada
> >>> vem alavancando o uso do CI aqui no Brasil.
> >>> O Livro 2.0 terá que ser algo maior, não só uma adaptação para o CI 2.0
> > mas
> >>> também de exemplos mais avançados, algumas correções de erratas
> >>> necessárias,
> >>> enfim, um livro mais completo que o primeiro.
> >>>
> >>> Abraços
> >>> Ademir
> >>>
> >>>
> >>> -----Mensagem original-----
> >>> De: [email protected]
> >>> [mailto:[email protected]] Em nome de Jairo
> >>> Enviada em: quarta-feira, 11 de maio de 2011 19:12
> >>> Para: [email protected]
> >>> Assunto: Re: [CodeIgniter] RES: RES: DataMapper + Help
> >>>
> >>> SQL, também sou adepto.
> >>> Ademir, agora que vc. está atuando com .net, vc. desistiu de lançar o
> >>> livro para o CI 2.0+ ?
> >>>
> >>> --
> >>> Abs,
> >>> Jairo
> >>> Sao Paulo / SP - Brasil
> >>>
> >>>
> >>> On Wed, 2011-05-11 at 18:24 -0300, Ademir Cristiano Gabardo wrote:
> >>>> :-) Legal.
> >>>> Boa leitura, espero que te ajude.
> >>>> Abraços
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> [email protected]
> >>> http://www.codeigniter.com.br
> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >>>
> >>> ---------------------------
> >>> Oportunidade de negócio
> >>> http://www.franquiasargohost.net
> >>> ---------------------------
> >>>
> >>>
> >>> _______________________________________________
> >>> [email protected]
> >>> http://www.codeigniter.com.br
> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >>>
> >>> ---------------------------
> >>> Oportunidade de negócio
> >>> http://www.franquiasargohost.net
> >>> ---------------------------
> >>>
> >>
> >>
> >>
> >> --
> >> ----
> >> Cristiano Santos de Oliveira
> >> Desenvolvedor de Software
> >> Cel. (71) 91794664
> >> MSN: [email protected]
> >> Gmail: [email protected]
> >> Skype: cristiano.oliveir
> >> Linux user # 495181
> >> Lattes:
> > Lattes<
> http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4413558T
> > 4>
> >> ----------------------------------------------------------
> >> "... não vemos o mundo com nossos olhos, mas com os conceitos que
> habitam
> >> nossa mente..."
> >> Osame Kinouchi.
> >> _______________________________________________
> >> [email protected]
> >> http://www.codeigniter.com.br
> >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >>
> >> ---------------------------
> >> Oportunidade de negócio
> >> http://www.franquiasargohost.net
> >> ---------------------------
> >>
> >
> > --
> > Evaldo Junior
> > CaSoft Tecnologia e Desenvolvimento
> > +55 13 3797-1006
> > Site: http://casoft.info
> > Blog: http://infog.casoft.info
> >
> > _______________________________________________
> > [email protected]
> > http://www.codeigniter.com.br
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> > ---------------------------
> > Oportunidade de negócio
> > http://www.franquiasargohost.net
> > ---------------------------
> >
> >
> > _______________________________________________
> > [email protected]
> > http://www.codeigniter.com.br
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> > ---------------------------
> > Oportunidade de negócio
> > http://www.franquiasargohost.net
> > ---------------------------
>
>
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------