Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Até então eu usava um comando para cada insert que eu fosse fazer no meu banco de dados. Visto que isso ocupa muito tempo, fiz esse simples algoritmo para auxiliar e deixar de forma automática.
function inserir($pCampos, $pTabela, $pValue) {
$pCampos2 = array();
for ($x = 0; $x < count($pCampos); $x++) {
array_push($pCampos2, ":".$pCampos[$x]);
}
$sqlQuery = "INSERT INTO ".$pTabela." (".implode(", ", $pCampos).") values "
. "(".implode(", ", $pCampos2).")";
$this->setPdo($this->con->getConexao()->prepare($sqlQuery));
for ($x = 0; $x < count($pCampos); $x++) {
$this->getPdo()->bindValue($pCampos2[$x], $pValue[$pCampos[$x]]);
}
$this->getPdo()->execute();
}
Gostaria de saber se existe uma forma melhor de se fazer isso, ou se está bom da forma que está.
Até mais.@Williams Duarte, obrigado pelo seu comentário e por sua dica com array_map.
Qual seria um padrão recomendado para uma situação dessa forma?
Perdão pela falta de doc.
Pesquise por Domain Service ou Application Service em modelagem DDD.
ia me esquecendo hehehe
Ou também e de forma mais simplista o CRUD
Cheguei neste post através deste!
Seu código tem sérios problemas de design, dentre ele estes for()
for ($x = 0; $x < count($pCampos); $x++) {
for ($x = 0; $x < count($pCampos); $x++) {
( $pCampos, $pTabela, $pValue )
E claro a falta de Doc.
Pra resolver o problema do for, use a função array_map repare que ele é uma função de callback.
Exemplo