php - Laravel:将 Where 子句添加到附加的自定义属性
问题描述
我添加了一个自定义属性年龄(以月为单位),例如:
//铸造以便我可以使用Carbon实例
protected $dates = ['date_of_birth'];
//返回月龄
public function getAgeAttribute(){
if(empty($this->date_of_birth){
return null;
}
return $this->date_of_birth->diffInMonths();
}
然后我附加了年龄,以便我可以在全球范围内使用年龄,例如:
protected $appends = ['age'];
我现在需要使用年龄月份来生成基于年龄月份显示的报告:
如何根据用户集合中的年龄进行过滤?
//一般设置
$ages = [10, 20, 30, ...];
$users = User::get();
$requiredDetail = [];
尝试 1
我尝试使用where子句但不工作
foreach($ages as $age){
$requiredDetail[$age] = $users->where('age', $age)->count();
}
尝试 2
我尝试使用收集过滤器但不工作
foreach($ages as $age){
$requiredDetail[$age] = $users->filter(function($user) use ($age){
return $user->age == $age;
});
}
问题是如何在从集合中检索演员年龄后对其进行过滤?
解决方案
使用收集方法whereIn()
。
$usersCertainAge = $users->whereIn('age', $ages);
推荐阅读
- fullcalendar - Next Js - 完整的日历包括 CSS
- python - 如何使用 networkx 创建更好的无向图可视化?
- django - 如何访问 djagno 内置的登录系统字段
- reactjs - 如何将多个钩子传递给上下文 API 的值?
- intellij-idea - IntelliJ 控制台未显示 system.println 语句
- c++ - 没有数组和二进制运算符的十进制到二进制(如“&”)
- python - 安装后无法导入 scikit-learn
- postgresql - 如何从 PostgreSQL 上的 pg_stat_statements 计算 queryId?
- r - 条形图ggplot2问题
- r - 如何在 R 中只读取连接的指定字节?