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
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
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
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();
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:
Em caso de dúvidas, dê um var_dump($param) e veja o que retorna.