在 Laravel 发布请求中找不到 404

柴油

我正在以我的形式提出邮寄请求。csrf 令牌和方法就在那里。

<div class="flex">
        <form action="{{ route('profile.store.follower', $user) }}" method="post">      
        @csrf 
          <input value="follow" type="hidden" name="follow" value="{{$user->id}}" >
          <button type="submit" class="bg-green-700">Follow</button>
         </form>
  </div>

路线:

Route::get('/usersprofile/{user:name}/index', [ProfileController::class, 'index'])->name('profile.index');
Route::post('/usersprofile/{user:name}/index', [ProfileController::class, 'store'])->name('profile.store.follower');

控制器:

public function store(User $user, Request $request)
{
    dd($user);

    $user = user::findOrFail($request->follow);
    Auth::user()->following->attach($user->id);
 
    return back();
}

用户模型中的以下函数:

public function following()
    {
        return $this->belongsToMany(User::class, 'followers', 'user_id', 'following_id');
    }

出于某种原因,它没有通过。我试过 php artisan route:cache 和 config:cache 但错误仍然存​​在。我检查了路线列表并且路线存在。

黑莓

您的隐藏输入有两个value属性,这可能就是它找不到用户并失败的原因。

删除隐藏的输入和行$user = user::findOrFail($request->follow);- 您想要关注的用户已经$user通过您的路线存在然后使用Auth::user()->following->attach($user);跟随。

<div class="flex">
  <form action="{{ route('profile.store.follower', $user) }}" method="post">      
    @csrf 
    <button type="submit" class="bg-green-700">Follow</button>
  </form>
</div>
public function store(User $user, Request $request)
{
    Auth::user()->following->attach($user);
    return back();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章