我如何从我的数据库中计算、分组和显示年龄
How can I Count, group and show age from my database
我有一个包含 100 条记录的 table 组织图。在这个 table 组织图中,我有 4 列:
- id
- 名字
- date_birth
- date_entry
这里是我的控制器:
public function index(Request $request)
{
$listCollaborateurs = Organigramme::all();
foreach ($listCollaborateurs as $collaborateur) {
$now = Carbon::now();
$date_birth = Carbon::createFromFormat('Y-m-d', $collaborateur->date_birth);
$age = $now->diffInYears($date_birth);
$Number1 = age
->where(age between 1 and 10)
->count();
$Number2 = age
->where(age between 11 and 20)
->count();
return view('home',['Number1' => $Number1, 'Number2' => $Number2]);
}
现在我想统计、分组并在我的 blade 中显示年龄在 [1 - 10]、[11 - 20]
之间的所有记录
我需要帮助!
您可以这样做:
在您的 Organigramme 模型中 class 编写一个 returns 年龄属性的函数。喜欢:
protected $appends = ['age'];
public function getAgeAttribute(){
$now = Carbon::now();
$date_birth = Carbon::createFromFormat('Y-m-d', $this->date_birth);
return $now->diffInYears($date_birth);
}
在你的控制器中:
$listCollaborateurs = Organigramme::all();
$number1 =$listCollaborateurs->whereBetween('age',[1,10])->count() ;
$number2 = $listCollaborateurs->whereBetween('age',[11,20])->count();
现在告诉我是否有效
我有一个包含 100 条记录的 table 组织图。在这个 table 组织图中,我有 4 列:
- id
- 名字
- date_birth
- date_entry
这里是我的控制器:
public function index(Request $request)
{
$listCollaborateurs = Organigramme::all();
foreach ($listCollaborateurs as $collaborateur) {
$now = Carbon::now();
$date_birth = Carbon::createFromFormat('Y-m-d', $collaborateur->date_birth);
$age = $now->diffInYears($date_birth);
$Number1 = age
->where(age between 1 and 10)
->count();
$Number2 = age
->where(age between 11 and 20)
->count();
return view('home',['Number1' => $Number1, 'Number2' => $Number2]);
}
现在我想统计、分组并在我的 blade 中显示年龄在 [1 - 10]、[11 - 20]
之间的所有记录我需要帮助!
您可以这样做: 在您的 Organigramme 模型中 class 编写一个 returns 年龄属性的函数。喜欢:
protected $appends = ['age'];
public function getAgeAttribute(){
$now = Carbon::now();
$date_birth = Carbon::createFromFormat('Y-m-d', $this->date_birth);
return $now->diffInYears($date_birth);
}
在你的控制器中:
$listCollaborateurs = Organigramme::all();
$number1 =$listCollaborateurs->whereBetween('age',[1,10])->count() ;
$number2 = $listCollaborateurs->whereBetween('age',[11,20])->count();
现在告诉我是否有效