Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera estou fazendo um site no qual o nome de usuario cadastrado servirá de rota. Por exemplo www.site.com/mvnobrega
todos os usuarios poderão divulgar seu perfil através do site ''/nome de usuario"
qual a melhor maneira de fazer iosso ?
vish cara, ta f*** aqui, e já achei vários artigos. Mas não estou conseguindo entender muito bem oq esatou fazendo. E por fim não resolve.
estou colocando assim:
Route::get('/{username}', 'ProfileController@show');
E no ProfileController assim:
?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function show($username)
{
$user = User::whereUsername($username)->firstOrFail();
return View::make('profile', compact('user'));
}
}
cara achei varios codigos, este é o que me parece mais perto do q realmente preciso. Porém tem algo errado e nao sei como corrigir.
Minha tabela de usuário é "Users" e o nome está na coluna "username"
o que está faltando ??
vlwOk,
1) Pra você usar dessas funções do Eloquent Model (User::where por exemplo) você precisa importar o Model no seu controller.
2) Pode simplificar esta sintaxe aí no 5.5, não precisa fazer uso desse make.
Tente colocar dessa forma:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User; // aqui você está importando o Model User
class ProfileController extends Controller
{
public function show($username)
{
$user = User::where('username', $username)->first();
return view('profile', compact('user'));
}
}
Veja o resultado que tem e retorne =]Cara muito obrigado, resolvido.
Agora só vou redirecionar ou as rotas inexistente para a página inicial e já era.
Vlw irmão (Y)
abraço e sucesso
Primeiro garantir que o nome de usuário seja único pra não ter duplicada no banco. De resto, pode fazer uma rota normal especificando mais ou menos dessa forma:
{