在一个应用程序中,我有一个如下所示的选择框:
<select name="AgeGroup" class="form-control" id="AgeGroup">
<option value="18-24" selected=""18-24</option>
<option value="18-24">18-24 years</option>
<option value="25-34">25-34 years</option>
<option value="35-44">35-44 years</option>
<option value="45-54">45-54 years</option>
<option value="55-64">55-64 years</option>
<option value="65 Plus">65 years or over</option>
<option value="PTNA">Prefer not to answer</option>
</select>
当我收集出生日期时,我有一个简单的变量来获取用户的年龄(以年为单位),如下所示:
public function getAgeAttribute()
{
$this->birth_date->diff(Carbon::now())->format('Y');
}
然后我意识到我甚至不需要年龄属性来计算年龄组,所以我做了另一个访问器如下:
public function getAgeGroupAttribute()
{
$age = $this->birth_date->diff(Carbon::now())->format('Y');
switch($age){
case($age <= 24);
return "18 - 24";
break;
case ($age <= 34);
return "25 - 34";
break;
case ($age <= 44);
return "35 - 44";
break;
case ($age <= 54);
return "45 - 54";
break;
case ($age <= 64);
return "55 - 64";
break;
case ($age > 64);
return "Over 65";
break;
default:
return "Unspecified age group";
}
}
但我担心的是,如果他们没有选择提供年龄呢?因为这个表格附带了一个选项,选择不说。
我能不能先确认一下这是不是约会
$user->age_group
?
另外,我想第一个开关盒应该有一个or,因为你可能不到18岁。
case($age >= 18 && $age <= 24);