Ir ao conteúdo
  • Cadastre-se

PHP Variavel de método controller recebe valor errado no Laravel


Posts recomendados

Olá pessoal, estou numa empreitada tentando aprender Laravel e desenvolvendo um sistema não muito trivial (pelo menos não para mim que não tenho experiência). Hoje me deparei com um problema que não consegui encontrar solução durante umas 3 horas de pesquisa, se puderem me dar um auxílio agradeço.

 

Um pedaço da minha aplicação, consiste no cliente logar e a partir daí cadastrar algumas informações pertinentes diariamente. Ao logar, ele cai na tela para escolher em qual captação ele irá cadastrar os dados. Na próxima ele escolhe qual sistema de captação, e por fim, ele insere os dados.  Para isso tenho as seguintes rotas:

 Route::get('/prop/{id_prop}/', 'PropriedadeController@clientePropriedade');
 Route::get('/prop/{id_prop}/cap/{id_cap}/', 'CaptacaoController@clienteCaptacao')->name('cap');
 Route::get('/prop/{id_prop}/cap/{id_cap}/sis/{id_sis}/', 'SistemaController@clienteSistema')->name('sis');

Meu problema é: quando clico no link para alguma captação, sempre sou direcionado para a página do Sistema de Captação pertencente a captação 1. Independente da captação que eu escolher, sempre sou direcionado para os sistemas da captação 1. Usando o método dd() do Laravel para debugar, percebi que o parâmetro (int id) de meu método clienteCaptacao de CaptacaoController tem valor 1.

 

 public function clienteCaptacao(int $id)
    {
        dd($id);//valor 1
        $cap = Captacao::find($id);

        //dd($cap);
        if (!isset($cap)) {
            return view('erros.cliente.nCadastrado',
                array('nome' => 'captações'));
        } else {
            return view('cliente.escolheSistema', compact('cap'));
        }
    }

Os links estão corretos:

    <div class="col-lg-3 col-md-6">
  	  	<a href=http://h20.laravel/cliente/prop/1/cap/1 
    		class="btn  btn-secondary btn-block" style="background-color:red">Captacao 1</a>
    </div>
    <div class="col-lg-3 col-md-6">
    	<a href=http://h20.laravel/cliente/prop/1/cap/2 
    		class="btn  btn-secondary btn-block" style="background-color:red">Captacao 2</a>
    </div>
    <div class="col-lg-3 col-md-6">
    	<a href=http://h20.laravel/cliente/prop/1/cap/3 
    		class="btn  btn-secondary btn-block" style="background-color:red">Captacao 3</a>
    </div>

Esses são os códigos da minha blade onde crio os links acima:

 


<div class="row">
    @foreach ($prop->captacoes as $cap)
    	<div class="col-lg-3 col-md-6">
    		<a href={{
               URL::route("cap",
    			['id_prop'=>$prop->id, 'id_cap'=>$cap->id])}} 
    				class="btn  btn-secondary btn-block" style="background-color:red">{{$cap->nome}}</a>
    	</div>
    @endforeach
</div>

Imagino que esteja cometendo um erro bobo, mas não tenho a menor ideia de como resolver. Se alguém puder me ajudar, fico grato. Muito obrigado.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...