所以我不明白为什么它没有把变量传递给我的控制器。
下面是我的/Controllers/FriendController.php getAccept函数:
public function getAccept($username)
{
$user = User::where('username', $username)->first();
if (!$user) {
return redirect()->route('home')->with('info', 'That user could not be found!');
}
if (!Auth::user()->hasFriendRequestRecieved($user)) {
return redirect()->route('home');
}
Auth::user()->acceptFriendRequest($user);
return redirect()->route('profile.index', ['username' => $user->username])->with('info', 'Friend request acccepted.');
}
}这是我的刀片,其中接受好友请求按钮是:
@extends('templates.default')
@section('content')
<div class="row">
<div class="col-lg-5">
@include('user.partials.userblock')
<hr>
</div>
<div class="col-lg-4 col-lg-offset-3">
@if (Auth::user()->hasFriendRequestPending($user))
<p>Waiting for {{ $user->getNameOrUsername() }} to accept your request.</p>
@elseif (Auth::user()->hasFriendRequestRecieved($user))
<a href="{{ route('friends.accept', ['username' => $user->username]) }}" class="btn btn-primary">Accept friend request</a>
@elseif (Auth::user()->isFriendWith($user))
<p>You and {{ $user->getNameOrUsername() }} are friends.</p>
@else
<a href="{{ route('friends.add', ['username' => $user->username]) }}" class="btn btn-primary">Add as friend</a>
@endif
<h4>{{ $user->getFirstNameOrUsername() }}'s friends.</h4>
@if (!$user->friends()->count())
<p>{{ $user->getFirstNameOrUsername() }} has no friends.</p>
@else
@foreach ($user->friends() as $user)
@include('user/partials/userblock')
@endforeach
@endif
</div>
</div>
@stop发布于 2015-09-28 08:47:55
好的,我自己解决了这个问题,在路由中遗漏了一个变量,所以现在我的路由看起来像这样:
Route::get('friends/accept/{username}', [
'uses' => '\Aries\Http\Controllers\FriendController@getAccept',
'as' => 'friends.accept',
'middleware' => ['auth'],
]);忘记这一点:
{username}https://stackoverflow.com/questions/32814220
复制相似问题