laravel - 如何过滤 Laravel 集合
问题描述
我必须在我的函数中遵循雄辩的 db 语句。数据库上的两个读取语句。
$groups = V_Member::where('groupadmin', '=', Auth::id())->get();
$members = V_Member::where([['idgroup', $groupid],['groupadmin', Auth::id()]])->get();
首先,我想执行第一个 db 语句,然后我想过滤集合/变量。像下面这样。但我得到一个错误。我必须改变什么?
$groups = V_Member::where('groupadmin', '=', Auth::id())->get();
$members = $groups::where(['idgroup', '=', $groupid])->get();
这是错误信息
不应静态调用非静态方法 Illuminate\Support\Collection::where()
解决方案
如果您想过滤集合而不是运行 2 个查询,那么您只需要更改:
$members = $groups::where(['idgroup', '=', $groupid])->get();
至:
$members = $groups->where('idgroup', '=', $groupid);
有关更多信息,您可以查看文档
推荐阅读
- php - 使用 PHP 的阶乘分数
- javascript - Discord.js 不显示机器人自定义活动
- python - 直接访问的键返回错误,遍历字典工作
- android - 启用即时应用功能的已发布 Play 商店应用程序上未显示“立即尝试”按钮
- kotlin - Kotlin 在进入下一个索引之前等待 for 循环中的协程
- python - 列是否存在某些条件的标志
- swift - 从 React Native asyncstorage 快速获取
- reactjs - 如何强制更新功能组件?
- javascript - 如何显示 js 对象名称及其所有属性值?
- django - html文件中的Django Back和Next按钮