You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 实现登录满5次可访问发帖页及相关报错问题咨询

问题原因与修复方案

核心错误原因

  • User::all() 执行的是查询全表用户的操作,返回的是 Laravel 集合(Collection)实例,不是单个用户模型对象,集合本身不存在 logincount 属性,这是触发报错的直接原因。
  • 你的校验逻辑目标是当前已登录的用户,而非数据库中存储的全部用户,不需要查询全表用户。
  • 原有判断条件写的是 >5,和需求「登录次数不少于5次」(即>=5)不符,会把刚好登录5次的用户拦截。
  • 未满足校验条件时没有定义返回逻辑,会出现页面空白或者路由报错。

修复代码

首先确保你访问 create 方法的路由已经配置了 auth 中间件,保证只有登录状态的用户才能访问该方法,避免获取当前用户时返回空值:

public function create(){
    // 获取当前登录的用户实例
    $user = auth()->user();
    if ($user->logincount >= 5) {
        return view('create');
    }
    // 不满足条件时跳转回上一页面并携带提示,可根据自己的业务需求调整跳转逻辑
    return redirect()->back()->with('error', '登录次数不足5次,暂无文章发布权限');
}

可选优化方案

如果该登录次数校验逻辑需要在多个控制器方法中复用,可以单独封装为 Laravel 中间件,避免重复编写校验代码。


内容的提问来源于stack exchange,提问作者marry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:15:05