php - Laravel 从关系表中计算男性或女性的数量
问题描述
我有以下模型:
UserProgram user_id, program_id.
User
Profile, user_id, gender
Program
function gender
我的UserProgram
模型中有一个
public function gender()
{
$gender = "N/A";
$user = User::find($this->user_id);
if (!empty($user)) {
$profile = Profile::where('user_id',$user->id)->first();
if (!empty($profile)) {
$gender = $profile->gender;
}
}
return $gender;
}
现在我想运行一个查询来计算我有多少男性或女性用于特定程序。我希望能够做这样的事情。
$male_count = UserProgram::with(‘gender)->where([
['program_id',104],[‘gender’,’Male’]
])->count();
解决方案
如果您在运行中的查询更改为
$male_count = UserProgram::withCount('gender')->where([['program_id', 104], ['gender', 'Male']])->get();
推荐阅读
- python - Python中的这些类有什么区别?
- c++ - 为什么微软在新代码中使用结构而不是类?
- java - 使用 Java 中的反射以特定方式打印带有参数的方法
- c++ - C ++“错误:重载运算符'*'的使用不明确”似乎只有一个匹配项
- elasticsearch - Elasticsearch 在双引号之外标记化
- string - Kotlin - 是否有一个基本函数可以用引用字符串中的多个字符串替换多个字符串?
- python - Visual Studio Code 语法突出显示不起作用
- terraform - 如何在terraform中将列表输入传递给aws vpc elb
- laravel - 使用 laravel 护照创建密码授予令牌时出现 401 Unauthorized
- asp.net-core - 在授权中间件中从正文中获取数据