passando parametro para um controler

1,917 views
Skip to first unread message

Fabio Valegio

unread,
Jul 9, 2014, 10:48:19 AM7/9/14
to laravel...@googlegroups.com
Alguem sabe como funciona para passar parametros para um controler?

{{ HTML::link('users/' . $value->id, 'Show') }}

eu estou tentando fazer assim
no caso o meu routes esta assim Route::controller('users', 'UsersController');

no caso ele nao esta achando o metodo no controller

valew galera abraco

Neto Neto

unread,
Jul 9, 2014, 10:49:36 AM7/9/14
to laravel...@googlegroups.com
No seu controler deveria ter um método chamado getIndex( $param )

Neto - Web developer
+55 81-9916.1778




--
Você recebeu essa mensagem porque está inscrito no grupo quot;Laravel Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Fabio Valegio

unread,
Jul 9, 2014, 11:11:07 AM7/9/14
to laravel...@googlegroups.com
Valew Neto, mano

é so criar esse metodo no meu controler ou eu tenho que criar esse cara receber o parametro, setar uma propriedade para usar???
acho que eu compliquei na explicação, funciona assim:

view:
{{ HTML::link('users/'. $value->id, 'show') }}

routes:
Route::controller('users', 'UsersController');

controller:
public function show($id){

$user = User::find($id);
$this->layout->content = View::make('users.show')->with('users', $user);
}

ele me apresenta um erro que nao consegue encontrar um controller na real a URL vai ficar assim (  users/1 ) por exemplo esse 1 é o id do usuario

Netao caso vc tenha algum exemplo que eu posso verificar e no seu modelo vc usa o rotes igual ao meu????? eu so tenho essa linha la no meu caso que estou apenas fazendo login e administrando usuarios

valew maninho abracao

Neto Neto

unread,
Jul 9, 2014, 11:17:32 AM7/9/14
to laravel...@googlegroups.com
Cara, se quer que funcione exatamente como está sua estrutura, deve fazer a seguinte rota:


Route::get('users/{id}', 'UsersController@show')->where('id', '[0-9]+');

Isso deve funcionar.


Neto - Web developer
+55 81-9916.1778




--

Fabio Valegio

unread,
Jul 9, 2014, 11:32:08 AM7/9/14
to laravel...@googlegroups.com
mesmo erro nao rolou nao, eu estou vendo um tal de URL para usar no lugar do HTML eu estou vendo aquii, mas aceitos sugestoes, rsrsrsrsrs

valew abraco

Neto Neto

unread,
Jul 9, 2014, 11:40:19 AM7/9/14
to laravel...@googlegroups.com
Não vai fazer diferença o método que usa para gerar sua url, o lance são as rotas.
Faça o seguinte:

View:
{{ link_to('users/edit/'. $value->id, 'Show') }}

UsersController:
public function getEdit($id){
    return $id;
}


routes.php
Route::controller('users', 'UsersController');


Neto - Web developer
+55 81-9916.1778




2014-07-09 12:32 GMT-03:00 Fabio Valegio <fval...@gmail.com>:
mesmo erro nao rolou nao, eu estou vendo um tal de URL para usar no lugar do HTML eu estou vendo aquii, mas aceitos sugestoes, rsrsrsrsrs

valew abraco

--

Fabio Valegio

unread,
Jul 10, 2014, 5:41:23 AM7/10/14
to laravel...@googlegroups.com
Netao bom dia maninho, valew da dica vou testar agora, e ja dou um retorno aqui no post.

abracao!!
Fabio

Fabio Valegio

unread,
Jul 10, 2014, 6:28:12 AM7/10/14
to laravel...@googlegroups.com
Netao, seguinte, nao funcionou, hahaha, mas vamos por partes:

1 parte: View
{{ link_to('users/show/'. $users->id, 'Show')}}

"aqui ta perfeito, ele esta funcionando certinho e esta passando exatamente isso aqui - localhost:8000/users/show/1"

eu acredito que o proximo passo é o laravel localizar o routes.php

2 parte: Route:
Route::controller('users', 'UsersController');
"aqui ficou tudo igual sem novidades"

3 parte: Controller

public function getShow($id){

$user = User::find($id);
$this->layout->content = View::make('users.show')->with('users', $user);
}

"essa é minha action dentro do controller,
eu recebo da tela o ID busco um registro no User e retorno dentro da variavel content um html que chama show.blade.php" segue abaixo:

<h1>Showing {{ $user->firstname }}</h1>

<div class="jumbotron text-center">
<h2>{{ $user->firstname }}</h2>
<p>
<strong>Perms:</strong> {{ $user->perms }}
</p>
</div>

quando eu olho para isso me parece tudo normal, mas ai que esta a questao ele esta falando que a variavel user nao existe na view, segue o erro:

ErrorException

Undefined variable: user (View: /Applications/XAMPP/xamppfiles/htdocs/auth/laravel-auth/app/views/users/show.blade.php)



eu acredito que a variavel chegou ate o controller ok mas de alguma forma eu estou fazendo algo errado e nao estou conseguindo redirecionar

Maninho sem comentarios, muito obrigado mesmo pela ajuda que vc e que o restante do pessoal tem me dado para desenrolar as coisas desse projeto.
cheers!
Fabio



Neto Neto

unread,
Jul 10, 2014, 6:34:41 AM7/10/14
to laravel...@googlegroups.com

Mas esse aí é fácil de resolver.
Você está passando $user para a view, e tentando umas $users lá. Leia com atenção a mensagem de erro que você perceberá

Fabio Valegio

unread,
Jul 10, 2014, 6:54:29 AM7/10/14
to laravel...@googlegroups.com
foi to dormindo ainda, agora funfou de boa!!!!
putz, sai para beber no meio da semana so ferra a vida, desculpa ai mano, rsrsrsrsrs

valew velhinho grande abraço
Fabio
Reply all
Reply to author
Forward
0 new messages