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

Laravel 5如何仅显示拥有相同列值的Jobs数据?

只显示当前用户创建的职位数据解决方案

没问题,很简单,你只需要修改控制器里的数据查询逻辑,就能实现只展示当前登录用户对应的职位啦。

步骤1:修改控制器代码

把原来获取所有职位的代码,改成筛选出schoolname字段和当前用户名称匹配的职位:

public function index() {
    // 筛选出当前用户创建的所有职位
    $jobs = Job::where('schoolname', Auth::user()->name)->get();
    return view('home', compact('jobs'));
}

代码说明:

  • 用where('schoolname', Auth::user()->name)来指定过滤条件:只取schoolname等于当前登录用户名称的记录
  • 用get()方法获取符合条件的所有数据,代替原来的all()(all()会取出表中所有数据)
  • 记得确保你的路由已经添加了auth中间件,这样只有登录用户才能访问这个页面,避免Auth::user()返回null的情况

步骤2:Blade视图无需修改

你现有的Blade代码完全不用改,因为它是循环渲染$jobs变量的内容,现在$jobs已经是过滤后的当前用户的职位数据了,直接就能正常展示。

如果之后你想优化数据关联(比如用户名称可能修改,建议用用户ID关联),可以考虑给jobs表添加user_id字段,然后通过模型关联来查询,但目前这个方案完全能满足你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:35:19