Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Recuperar o CEP informado na tela

Bom dia.

Tenho uma tela onde o usuário cadastro o endereço do aluno, tem um campo cep, preciso pegar para chamar um servico que me retorna o endereco do cep,

Tentei recuperar assim mas não funcionou, alguém poderia me ajudar ?

$params = Request::all(); var_dump($params); $cep = Request::input('cep');

Fico no aguardo...

formaulario.blade.php

@extends('layout.principal')

@section('conteudo')

<h2>Novo aluno</h2>
  <form action="/aluno/adiciona" method="post">
      <div class="row">
        <div class="form-group col-5">
          <label for="nome">Nome:</label>
          <input type="text" class="form-control" id="nome" placeholder="Enter nome" name="nome">
        </div>
        <div class="form-group col-5">
          <label for="logradouro">Logradouro:</label>
          <input type="text" class="form-control" id="logradouro" placeholder="Enter logradouro" name="logradouro">
        </div>
        <div class="form-group col-2">
          <label for="numero">Numero:</label>
          <input type="text" class="form-control" id="numero" placeholder="Enter numero" name="numero"> >
        </div>
    </div>

      <div class="row">
        <div class="form-group col-2">
          <label for="cep">cep:</label>
          <input type="text" class="form-control" id="cep" placeholder="Enter cep" name="cep">
        </div>
        <div class="form-group col-2">
          <button type="button" class="btn btn-default" onclick="">Buscar Cep</button>
          <a href="/aluno/buscarCep" >Visualizar</a>

        </div>
    </div>

    <button type="submit" class="btn btn-default">Submit</button>
  </form>
</div>

@stop

web.app

Route::get('/aluno/buscarCep', 'AlunoController@buscarCep');

AlunoController.php

<?php namespace app\Http\Controllers;

use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use App\Http\Controllers\SomeApi;
use Request;
use App\Aluno;
use App\CepDTO;

class AlunoController extends Controller
{
    // ncomo faço para recuperar o CEP digitado na tela
    public function buscarCep(){
        $params = Request::all();
        var_dump($params);
        $cep = Request::input('cep');
        $p1 = 'https://viacep.com.br/ws/';
        $p2 = '/json/';
        $url = "$p1$cep$p2";
        $client = new \GuzzleHttp\Client();
        $request = $client->get($url);
        $response = $request->getBody();

        //return $response;
    }

    public function cep($cep){
        $p1 = 'https://viacep.com.br/ws/';
        $p2 = '/json/';
        $url = "$p1$cep$p2";

        $client = new \GuzzleHttp\Client();
        $request = $client->get($url);
        $response = $request->getBody();

        return $response;
    }    

    public function lista(){
        $lista = Aluno::all();
        return view('aluno.listagem')->with('lista', $lista);
    }

    public function mostra($id){
        $objeto = Aluno::find($id);
        if(empty($objeto)) {
            return "Esse aluno não existe";
        }
        return view('aluno.detalhes')->with('p', $objeto);
    }

    public function novo(){
        $objeto = new CepDTO();
        $objeto->cep = '01001000';
        $p_cep = '01001000';
        //echo $objeto;
        //$objeto.cep $p_cep;
      return view('aluno/formulario')->with('p', $objeto);;
    }

    public function adiciona(){

        $params = Request::all();
        $objeto = new Aluno($params);
        $objeto->data_criacao = $datahora=date('Y-m-d h:i:s');
        $objeto->save();

        return redirect()
            ->action('AlunoController@lista')
            ->withInput(Request::only('nome'));
    }

    public function listaJson(){
        $lista = Aluno::all();
        return response()->json($lista);
    }

    public function remove($id){
        $objeto = Aluno::find($id);
        $objeto->delete();
        return redirect()
            ->action('AlunoController@lista');
    }

    /*
    public function cep(){
        $p1 = 'https://viacep.com.br/ws/';
        $p2 = '/json/';
        //$url = "$p1$cep$p2";

        $client = new \GuzzleHttp\Client();
        $request = $client->get('https://viacep.com.br/ws/01001000/json/');
        $response = $request->getBody();

        return $response;
    }*/


}
2 respostas
solução!

Oi Claudemir, tudo bom?

Você já tento pegar o request por injeção de dependencia na rota? Algo como:

 public function store(Request $request)
    {
        $cep = $request->input('cep');
// resto da action
    }

boa noite.

funcionou, muito obrigado