Insert no banco de dados através do...

Conteúdo postado em: 21/01/2018

Insert no banco de dados através do recebimento de um POST externo como uma API usando Laravel 5.5

Blz pessoal? então hoje eu tive uma dúvida de como gravar dados recebidos externamente por POST utilizando o laravel 5.5 e o Eloquente ORM.

Estava desenvolvendo uma integração com o HotMart onde cada venda efetuada ele envia um post para informar o sistema, a ideia é gravar esses dados no banco como um cadastro de cliente, gerar um login e senha, e devolver isso para o comprador por email, com os dados de acesso dele ao sistema, de forma automátizada.

então vamos lá ver como fazer, e também vou passar uma dica de um problema que aconteceu comigo, e que pode evitar muita dor de cabeça.

Estou recebendo este erro no Laravel 5.5: Attempt to assign property of non-object e agora?

Estava fazendo tudo certo de acordo com a documentação do Laravel, porem sempre dava o seguinte erro: Attempt to assign property of non-object
p
ois bem, um tempão olhando códigos buscando tutoriais, alguma coisa que me dava uma luz, até que desisti, e resolvi mudar o nome da variavel que estava declarando que era $Value mudei para $linha e ai funcionou, horas e horas perdidas por um vacilo no nome da variavel, é um erro bobo, mas que pode te evitar horas de buscas incessantes.
Pois bem, vamos lá ver como fazer passo a passo o recebimento e a gravação de dados externos recebidos por POST.

O primeiro passo é criarmos o Model com os dados que será gravado no banco de dados.
 

Agora vamos criar a Rota que será enviada o POST externo

Route::post("/notifications, Hotmart\NotificationsController@store");

E por ultimo vamos criar o Controller para processar essas informações e Armazenar no banco através do Model

name = $request->name;     // Popula o campo name com a informação POST vinda de name
       $linha->email = $request->email;   // Popula o campo email com a informação POST vinda de email
       $linha->pass = "pass";             // Popula o campo pass com a informação POST vinda de pass
       $linha->save(); // responsavel por gravar os dados no banco.

       Mail::to("email@gmail.com")->send(new SendMail($request)); //Envia email confirmando a compra e liberando os acessos ao sistema
   }

 

Para entrar em contato envie um email pra: blog@devnautas.com
Fabio Henrique Ludwig

 

Ofertas confira: