我想将用户名传递给浏览器中的url,如“ / profile / {此处登录的用户名}”中所示。但是为了测试,我尝试首先传递id。 这是什么问题,不是当我按实际链接时。当我尝试仅访问欢迎页面时,会发生问题。
我已经在视图中调用了路由,并向其传递了正确的参数'user',但它仍然给我带来了不确定的变量错误。
这是路线
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/profile/{user}', 'ProfilesController@index')->name('profile.show');
ProfilesController:
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
class ProfilesController extends Controller
{
public function index($user)
{
$user = User::find($user);
return view('home', [
'user' => $user,
]);
}
}
欢迎刀片
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ route('profile.show', $user) }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
@if (Route::has('register'))
<a href="{{ route('register') }}">Register</a>
@endif
@endauth
</div>
@endif
<div class="content">
<div class="title m-b-md">
gramClone
</div>
<p class="content">
where IG pics get to be shittier.
</p>
</div>
</div>
按下主页链接后调用的主页刀片:
@section('content')
<div class="container">
<div class="row">
<div class="col-4 p-5">
<img src="/png/logo.png" alt="logo" style="height: 6rem; width: 6rem;" class="float-right rounded-circle">
</div>
<div class="col-8 pt-5">
<div><h1>{{$user->username}}</h1></div>
<div class="d-flex">
<div class="pr-5"><strong>number here</strong> posts</div>
<div class="pr-5"><strong>number here</strong> followers</div>
<div class="pr-5"><strong>number here</strong> following</div>
</div>
<div class="pt-4 font-weight-bold">Bio Summary Here</div>
<div>Bio Here</div>
<div><a href="#">Link Here</a></div>
</div>
</div>
<div class="row pt-5">
<div class="col-4"><img src="https://images.unsplash.com/photo-1566624790190-511a09f6ddbd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=634&q=80" alt="" class="w-100"></div>
<div class="col-4"><img src="https://images.unsplash.com/photo-1544127715-bafd09df7c52?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=634&q=80" alt="" class="w-100"></div>
<div class="col-4"><img src="https://images.unsplash.com/photo-1566592952746-15ea1f1a4133?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=653&q=80" alt="" class="w-100"></div>
</div>
</div>
@endsection
我的一些朋友说,这也是导致我也必须将参数置于get'/'的原因,但是当我尝试使用它时,它又给了我先前未通过参数的错误。
请帮助我,我已经溢出了3个小时,仍然没有任何实际答案。
答案 0 :(得分:0)
注释掉我在欢迎刀片中调用的路由后,发现了问题,显然是@auth使事情变得怪异。经过一番快速搜索之后,我发现如果您那里有@auth,显然您不能只说route('profile.show', $user)
。
您需要这样称呼它:auth()->user()
。