php - 如果在 Laravel Query 中计数超过 3,如何选择项目
问题描述
我Query
的表列中有许多相同的值,searchkeywords
如果计数> 3,我想选择它,并且我想调用 searchkeywords 其他数据。
例如Apple,Apple,Apple,Banana,Banana,Grapes,Grapes,Grapes,Grapes,Orange...
因此,选择并仅显示Apple
它们Grapes
的 ID 和其他列数据超过 3。
我正在使用这个查询
控制器代码:
$topsearches = DB::table('searchkeywords')
->selectRaw('query,count(*) as count')
->havingRaw('count(*) > 3')
->orderBy('created', 'DESC')
->paginate(15);
查看代码:
@foreach($topsearches as $search)
{{$search->query}}
@endforeach
所以,我只能调用查询列,除此之外,当我调用 using 时id
,created
列也在那里{{$search->id}}
,它会抛出错误:
未定义的属性:stdClass::$id
解决方案
您需要的列应该是 selectRaw,如:
$topsearches = DB::table('searchkeywords')
->selectRaw('query,id,created,count(*) as count')
->havingRaw('count(*) > 3')
->orderBy('created', 'DESC')
->groupBy('query')
->paginate(15);
推荐阅读
- amazon-web-services - 如何公开访问 Elastic vpc 端点
- php - 如何在 Shopware 6 中安装 B2B 套件?
- javascript - 在按钮单击转换时高度不起作用
- powershell - 找不到 dir /b 的文件路径错误 - 复制所有文件名脚本
- salesforce - 每当文件移动到特定文件夹时,如何使用 talend 自动执行上传过程
- django - Wagtail:向 PageModel 添加方法以获取检查 url
- python - 剪刀石头布,学校作业,python 3.7
- mysql - 如何将 Oracle sql 文件导入 MySQL
- javascript - fullcalendar 后台事件 resourceIds 事件丢失时配置错误
- csv - 如何使用 Proc Transpose 将数据从多行翻转到列?