laravel - Laravel withCount 指定关系表的列(API/Eloquent)
问题描述
在我的项目中,我创建了一个表 POSTS 和另一个 POST_VIEWS(最后一个获取用户的每次访问并获取 ip 和 post_id)
我的帖子的关系是这样的:
public function view() {
return $this->belongsTo(PostView::class);
}
我的 API 查询是这样的:
$posts = Post::withCount('view')->get();
所有这些都有效,但我需要计算关系表 PostView 中的 IP 数量,但我没有找到任何方法来做这样的事情......
如果有人有解决方案,您可以挽救我的生命...
解决方案
您无法直接使用 withCount 来计算与当前模型直接相关的其他模型,因为我可以看到您具有一对一的后视图关系,这看起来很奇怪,但您可以尝试另一种解决方案,因为一 :
$posts = Post::with(['view'=>function($query){
$query->withCount('ip');
}])->get();
此查询将使您在 'view' 旁边返回 ip 计数。
推荐阅读
- angularjs - 带有 Chrome 调试器的 Visual Studio Code 中的未验证断点
- java - 在正则表达式或 xpath 提取器中按文本查找选项值
- orbeon - 强制清空重复部分
- webrtc - 有什么方法可以合并多个 TURN 服务器?
- python - 根据键更新字典值列表
- google-chrome - Chrome DevTools 显示一个空的传出二进制 Web 套接字框架,当它不是真的为空时
- excel - 我无法运行我的 if 语句和案例
- jasper-reports - 如何在 Jaspersoft Studio 中传递数组/集合类型的参数并在查询时使用它?
- r - 如何修复 pandoc 转换失败并出现错误 61
- c# - 如果 Apllication.Current 为 NULL,如何获取所有活动 wpf 窗口(多线程)的集合?