Jackson,
Um fator importante que você tem que levar em consideração nessa hora é a
questão do banco que vc trabalha e uma futura migração, sinceramente nunca
usei nem sei  se esse comando é padrão SQL ANSI e se todos os bancos
aceitam, mas o importante é pensar, e se um dia seu banco mudar pra outra
plataforma, o comando continua valido?


Allan

2010/8/25 Jackson Ferreira de Andrade Mafra <[email protected]>

> É que gostaria de deixar estas tarefas ao Banco, mas sem uso de Triggers.
>
>
>
> att.
> Jackson F. de A. Mafra
> Front-End / Back-End Software Engineer
> twitter: @jacksonfdam | LinkedIn: http://linkedin.com/in/jacksonfdam
>
>
> 2010/8/25 Allan Torres ( Hazi) <[email protected]>
>
> Particularmente prefiro usar uma solução um pouco diferente.
>>
>> Meu controller vai assim,
>>
>> function salvar() {
>>         //Carregando os models
>>         $this->load->model ( 'Avisos_model' );
>>         $obj = array ('titulocomunicado' => $this->input->post (
>> 'titulocomunicado' ), 'introcomunicado' => $this->input->post (
>> 'introcomunicado' ), 'textocomunicado' => $this->input->post (
>> 'textocomunicado' ), 'numcontrole' => $this->input->post ( 'numcontrole' ),
>> 'status' => $this->input->post ( 'status' ) );
>>
>>         if (is_null ( $this->input->post ( 'idcomunicado' ) )) {
>>             $data ['retorno'] = $this->Avisos_model->salvar ( $obj );
>>         } else {
>>             $id = $this->input->post ( 'idcomunicado' );
>>             $data ['retorno'] = $this->Avisos_model->atualizar ( $id, $obj
>> );
>>         }
>>
>>         redirect( 'avisos');
>>     }
>>
>> e no model assim:
>>
>> //Recuperando categorias e totais de posts
>>     function salvar($obj) {
>>         $this->db->insert ( $this->table, $obj );
>>         return $this->db->insert_id ();
>>     }
>>
>>     function atualizar($id, $obj) {
>>         $this->db->where ( 'idcomunicado', $id );
>>         $this->db->update ( $this->table, $obj );
>>     }
>>
>>
>>
>> Ou seja, quando crio o controller ele tem uma regra basica se o id for
>> enviado juntamente com o array de dados, o controller direciona para o
>> atualizar, se não ele apenas salva no banco um novo registro, concordo que
>> sua solução é mais simples em uma query só, mas assim eu posso reutilizar
>> meu codigo de uma forma mais interessante sem contar que fica mais
>> organizado e uso os proprios comandos DB do code e não preciso fazer querys
>> sql ...
>>
>> Bem, mas de qualquer forma funciona, mais uma vez eu digo, codigo é igual
>> nescau, com mais ou menos chocolate, mas todos são nescau e fica gostoso no
>> final.
>>
>> Allan
>>
>>
>> On Wed, Aug 25, 2010 at 1:12 PM, Jackson Ferreira de Andrade Mafra <
>> [email protected]> wrote:
>>
>>> A SQL fica assim, sem ter que fazer if no php...
>>>
>>>
>>> INSERT IGNORE INTO
>>>      minha_tabela
>>> VALUES
>>>     (meu_valor1, meu_, meu_valor3)
>>>
>>>     ON DUPLICATE KEY campo2=meu_valor2, campo3=meu_valor3
>>>
>>>
>>> att.
>>> Jackson F. de A. Mafra
>>> Front-End / Back-End Software Engineer
>>> twitter: @jacksonfdam | LinkedIn: http://linkedin.com/in/jacksonfdam
>>>
>>>
>>>
>>> _______________________________________________
>>> [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
>>> ---------------------------
>>>
>>>
>>
>>
>> --
>> Allan Torres
>>
>>
>> _______________________________________________
>> [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
> ---------------------------
>
>


-- 
Allan Torres
_______________________________________________
[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
---------------------------

Responder a