database - 在laravel中获取具有计数的外键的不同数据
问题描述
我在 laravel 中从 mysql 计算不同的值时遇到问题。
项目模型:
public function projectNotes()
{
return $this->hasMany(ProjectNote::class, 'project_id');
}
项目注模型:
public function project()
{
return $this->belongsTo(Project::class, 'project_id');
}
数据库“project_notes”表:
id project_id note
1 1 Project 1 Note 1
2 1 Project 1 Note 2
3 1 Project 1 Note 3
4 1 Project 1 Note 4
5 2 Project 2 Note 1
6 2 Project 2 Note 2
7 2 Project 2 Note 3
8 3 Project 3 Note 1
9 3 Project 3 Note 2
10 4 Project 4 Note 1
我需要获取如下数据:
id project count
1 1 4
2 2 3
3 3 2
4 4 1
解决方案
您可以使用withcount
来计算记录。
$projects = Project::withcount('projectNotes')->with('projectNotes')->get();
有了这个,你会得到project_notes_count
推荐阅读
- c# - WCF WebSocket,获取流发送和接收数据
- string - 通过 Powershell 更改 EC2 实例类型
- python-3.x - Groupby 和聚合包含列表的数据框行
- ibm-information-server - 通知密码更改
- android-studio - 您如何将进度条连接到歌曲?
- python-2.7 - 发布请求返回 405
- ruby-on-rails - 如何抽象 Rails 中多个模型使用的枚举属性?
- configuration - Azure Function App 的生产配置
- r - 在R中替换句子的第N个单词的模式
- reactjs - 使用 Redux 重新渲染 React 功能组件