CakePHP Brasil

22 abril 2010

Behavior para melhorar o find

Arquivado em: CakePHP — Tags:, — Juan Basso @ 7:14 pm

Hola!

Estava aqui implementando alguns projetos e vi o quão chato é ter que implementar os models no cake sempre pensando nas queries que ele irá gerar.

As vezes vou fazer um find em models que tenham hasMany e quero fazer um filtro pelo model do hasMany e não consigo. Se eu coloco no conditions ele diz que a tabela do hasMany não existe. Se eu uso Containable ele mostra todos os registros do model que fiz o find com alguns tendo associações vazias. Ou seja, ele não faz JOIN com as tabelas hasMany nesses casos, sempre gerar queries diferentes e não sabe tratar direito.

Pensei em implementar isto no core do cake e propor para eles, mas a release 1.3 está fechada para enhancements, então ficaria para a versão 1.4/2.0 que sabe-se lá quando vem… Pensei então em um plugin para implementar isto, mas aí entra meu maior problema em computação: qual o nome?! :P

Alguém tem alguma sugestão? Como será um projeto a nível internacional, pensei em “SuperFind”, “FindPlusPlus”, “xFind”… Alguém tem alguma melhor?

No começo será mais para melhorar os relacionamentos de joins e afins, mas futuramente trabalhar melhor um pouco os casos de limit nos relacionamentos e outras coisitas a mais do find.

5 Comentários »

  1. O plugin será muito bem vindo, o nome é sempre mais complicado mesmo por que não powerFind ? heeheheh

    Comentário por Bruno Rodrigues — 22 abril 2010 @ 7:22 pm

  2. hmmmm nome é sempre complicado mesmo. Vamos fazer um brainstorm aqui nos comentários, algum vai sobrar:

    “FindHasMany”, “FindAndJoin”, “SFind” …

    Comentário por Bruno PorKaria — 22 abril 2010 @ 7:34 pm

  3. Opa, boa idéia.

    Dar nome a criança é sempre difícil, hehehe….

    Minhas sugestões: “Finder”, “Search”, “LinkedFind”, “AssocFind”…

    Comentário por Cauan Cabral — 22 abril 2010 @ 11:48 pm

  4. Opa! Obrigado pelas dicas pessoal, acho que vou optar pela idéia do Bruno Rodrigues, ou seja, PowerFind. Em breve códigos no github…

    Abraços e mais uma vez obrigado.

    Comentário por Juan Basso — 23 abril 2010 @ 10:00 pm

  5. [...] de ter criado o post sobre o Behavior para melhorar o find, cá está ele! Ontem a noite criei o projeto e enviei o código que tenho para o GitHub, no [...]

    Pingback por Behavior Super Find veio ao mundo « CakePHP Brasil — 27 abril 2010 @ 6:50 pm

Feed RSS dos comentários deste post URL de TrackBack

Deixe um comentário

Powered by WordPress