Skip to content

Instantly share code, notes, and snippets.

@brunofonseca
Created November 28, 2015 13:40
Show Gist options
  • Save brunofonseca/d0d6655c4fc2f072fef2 to your computer and use it in GitHub Desktop.
Save brunofonseca/d0d6655c4fc2f072fef2 to your computer and use it in GitHub Desktop.
Model Anuncios API
public function create($params){
// Novo produto
$sql_produto = "INSERT INTO $this->table_produtos
(nome, descricao,estado_de_conservacao,valor,categoria_id,usuario_id)
VALUES(:nome,:descricao,:estado_de_conservacao,:valor,:categoria_id,:usuario_id)";
// Ultimo produto registrado
$sql_ultimo_produto = "SELECT id
FROM $this->table_produtos
ORDER BY id DESC
LIMIT 1";
// Novo Anuncio
$sql_anuncio = "REPLACE INTO $this->table_anuncios
(produto_id,expira_em,status)
VALUES(:produto_id,000-00-00, :status)";
$stmt = DB::prepare($sql_produto);
$ultimo_produto = DB::prepare($sql_ultimo_produto);
$novo_anuncio = DB::prepare($sql_anuncio);
try {
$stmt->bindParam(':nome' , $params->nome , PDO::PARAM_STR);
$stmt->bindParam(':descricao' , $params->descricao , PDO::PARAM_STR);
$stmt->bindParam(':estado_de_conservacao' , $params->estado_de_conservacao , PDO::PARAM_STR);
$stmt->bindParam(':valor' , $params->valor , PDO::PARAM_STR);
$stmt->bindParam(':categoria_id' , $params->categoria_id , PDO::PARAM_INT);
$stmt->bindParam(':usuario_id' , $params->usuario_id , PDO::PARAM_INT);
//$transact->beginTransaction();
$produto_salvo = $stmt->execute();
if($produto_salvo){
$ultimo_produto->execute();
$produto_id = $ultimo_produto->fetch();
try{
$novo_anuncio->bindParam(':produto_id', $produto_id->id, PDO::PARAM_INT);
$novo_anuncio->bindParam(':status', $this->status, PDO::PARAM_INT);
return $novo_anuncio->execute();
}catch (PDOException $err){
echo "Ocorreu um erro ao processar a transação $err->getCode() $err->getMessage()";
}
}else{
echo "Ouve um erro ao processar as informações";
}
// $transact->commit();
} catch (PDOException $e) {
//$transact->rollBack();
echo "Falha ao salvar as informacoes. Provalmente voce possui dados duplicados";
die;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment