Executando comandos SQL no CakePHP

8 05 2009

Depois de muito pesquisar e me irritar com uma coisa que parece ser tão básica resolvi postar aqui o que eu tive dificuldades para encontrar na internet.

Eis o cenário:

Estou desenvolvendo um software com a finalidade de alimentar e ou sincronizar bancos de dados. Ele deve fazer o seguinte, quando o usuário acessar a url (http://www.site.com.br/sincronizacoes/sinc) o sistema lê vários bancos e várias tabelas, analisa algumas condições, prepara os dados e alimenta algumas tabelas de com esses dados.

Alguns adeptos do CakePHP poderiam dizer… “porque vc não usa o find()…. porque vc não usa os relacionamentos do Cake….etc…etc…”. Tudo bem! Acho até que seria possivel fazer com mais alguns dias de estudo do cake.

O problema é que não tinha esses dias e eu REALMENTE gostaria de usar as minhas queryes.

Porque?… São queryes enormes e eu já as tenho todas prontas, eu não queria reescrever tudo.

Como eu disse, é um processo simples mas acabei não encontrando uma documentação nem um relato preciso para o que eu queria. então vamos lá!

Como executar um comando SQL qualquer usando o Cake e obter o seu resultado

1)  Crie o seu controller:

class SincronizacoesController extends AppController {
 var $uses = array("Sincronizacao");
 function index(){
 }
 function sinc(){
 $this->set('vw_dados',$this->Sincronizacao->executaSinc());
 }
}

2) Crie o seu model:

class Sincronizacao extends AppModel{

 var $useTable = false;       

    # Esse é o segredo....
    # o seu model não vai usar nenhuma tabela...
    # apenas a conexão com o banco

 function index(){

 }

 public function executaSinc(){
     return($this->query("Execute aqui qualquer comando SQL que desejar"));
 }
}

Por fim, crie o view normalmente e trate os dados nele

<h1>Ufa!</h1>
<b>
 <?php pr($vw_dados); ?>
</b>

Pronto!… muito simples… mas se alguém não explicar fica complicado de se adivinhar. ;)

Até a próxima





Redes De Computadores – Parte 3

16 03 2009

Redes de Compurador – Parte 3.
Leia o resto deste post »





Usabilidade – Parte 1

6 03 2009

Slides sobre Usabilidade na Web de Autoria de Roberto Romani.
Leia o resto deste post »





Redes de Computador – Parte 1

2 03 2009

Slides de Redes de Computador – Parte 1
Leia o resto deste post »





Librivox! Narrações opensource de livros, textos e poemas.

30 06 2007

Às vezes a internet parece estar sem vida, sem nada que me emocione mas derepente me deparo com algum serviço, site ou projeto que me faz pensar melhor sobre a internet. É o caso do projeto www.librivox.org.

Pode ser usado por estudantes de língua, cegos e até como mais uma diversão na net.

Como o próprio site define:

“LibriVox é uma esperança, uma experiência e uma pergunta: pode a Internet unir um grupo de voluntários para ajudar a dar vida a livros no domínio público através de podcast?

E acho que a resposta é sim!

Ainda não existem muitos textos ou livros em português, a maioria está em inglês, mas já é um bom começo.

Todos os textos narrados devem ser de domínio público e todas as narrações do Librivox são doadas ao domínio público. Isso acaba limitando bastante as obras disponíveis mas, paciência não é! Existem grandes obras nacionais que estão em domínio público.

Imagine você, durante uma viagem, ao invés de ouvir música, andar por aí ouvindo um bom livro! Você baixa e coloca tudo em um mp3 player! Perfeito! Tem-se um bom livro durante a viajem sem ter o desconforto que é ler em papel que tudo chacoalhando pra lá e pra cá.

Dê uma conferida em uma obras em português.