Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Transferir dados de uma tabela no banco p/ outra parametros Bom dia amigos! Estou com uma dúvida aparentemente simples. estou tentando copiar "registros de uma tabela para outra tabela com parâmetros condicionais". ...É algo assim.. Se statusMembro =="Status" então // Queria ao clicar no botão e abrir um inputbox para inserir o status e só copiar dados com estes status copiar registros para a base historico. FimSe segue meu códi...
PW
Transferir dados de uma tabela no banco p/ outra parametros  
Bom dia amigos!
Estou com uma dúvida aparentemente simples. estou tentando copiar "registros de uma tabela para outra tabela com parâmetros condicionais".

...É algo assim..

Se statusMembro =="Status" então // Queria ao clicar no botão e abrir um inputbox para inserir o status e só copiar dados com estes status
copiar registros para a base historico.
FimSe


segue meu código para facilitar sem o condicional, porque do jeito que está, copia, mas tudo, porque usando o select no lugar no all, não estava indo nada para a outra tabela.

Quem puder me ajudar, eu agradeço!

//Copiar para o histórico de membros
public function copyDados($obj)
{
try
{
TTransaction::open('dbMembros'); //abre transação

$objMembrosModel = membrosModel::where('status','=','parametro do inputbox')->load();(); //carrega os dados igual do inputbox da tabela

TTransaction::open('dbHistMembros'); //abre transação que recebe os dados


foreach($objMembrosModel as $std)
{
//----------------salvar na tabela Historico ---------------------------


$objHistMembros = new HistMembros;
$objHistMembros ->id= $std->id;
$objHistMembros ->nome= $std->nome;
$objHistMembros ->local = $std->local;
$objHistMembros ->dataReg = $std->dataReg ;
$objHistMembros ->tpMembro = $std->tpMembro;
$objHistMembros ->origem= $std->origem;
$objHistMembros ->filename= "ID".$std->idDoc.".pdf";
$objHistMembros ->situacao="ENVIADO PARA HISTORICO";
$objHistMembros ->store();

}
TTransaction::close(); //fecha transação

$this->onReload();

new TMessage('info', "Registros inseridos com sucesso no histórico!");
return TRUE;

}

catch (Exception $e)

{

throw new Exception($e->getMessage());

}

}


//************************************************************************************************

Desde já agradeço

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (3)


JS

Olá,

Já tentou usar TCriteria e TRepository ao invés de Where ($objMembrosModel = membrosModel::where('status','=','parametro do inputbox')->load();)

Veja o exemplo do Tutor:

https://www.adianti.com.br/framework_files/tutor/index.php?class=CollectionLoadV

Abs
PW

Boa noite amigo!

O filtro com o where ou com TCriteria consigo executar sem problemas. Só não consigo fazer com parametros no formulário. Eu digitar um valor e antes de transferir os dados verificar se eles coincidem com o que eu digitei, e aí sim faz a transferencia. Porque só estou conseguindo colocando valor fixo no código.

Eu queria saber escrever no código abaixo, como fazer a verificação quando eu entro com o valor e só copiar dados baseados no valor que informei.
$objMembrosModel = membrosModel::where('status','=','dados digitados por mim no formulario')->load();
NR

Se você está chamando a função copyDados através de um botão, o parâmetro dessa função será um array associativo no formato chave=nome do campo e valor = valor do campo, contendo todos os campos do formulário a que pertence o botão. Ex:
  1. <?php
  2. public function copyDados($param
  3. {
  4.       $valor_digitado $param['nome_campo'];
  5. }
  6. ?>

Em caso de dúvidas, dê um var_dump($param) e veja o que retorna.