Laravel 函数用于检查用户是否在某个年龄以下返回true,而在该年龄段返回false
我有一个功能,根据出生日期检查用户的年龄。这是在我的用户模型上 出生日期为1995年2月23日Laravel 函数用于检查用户是否在某个年龄以下返回true,而在该年龄段返回false,laravel,laravel-5,Laravel,Laravel 5,我有一个功能,根据出生日期检查用户的年龄。这是在我的用户模型上 出生日期为1995年2月23日 public function age() { return $this->date_of_birth->diffInYears(\Carbon\Carbon::now()); } 当我在tinker中针对某个用户运行此程序时,我得到了正确的年龄。二十三, 我也有一个功能来检查哪些检查用户的年龄,以确定他们可以访问网站的哪个部分 public functi
public function age()
{
return $this->date_of_birth->diffInYears(\Carbon\Carbon::now());
}
当我在tinker中针对某个用户运行此程序时,我得到了正确的年龄。二十三,
我也有一个功能来检查哪些检查用户的年龄,以确定他们可以访问网站的哪个部分
public function Youth(){
if($this->age() == 16 || 17){
return true;
} else {
return false;
}
}
在tinker中,上面的用户返回true,而它应该返回false,因为用户的年龄是23岁。我的代码有任何明显的问题吗?是的,您没有将
17
与任何东西进行比较。尝试:
如果($this->age()==16 | |$this->age()==17){
目前,您只是在检查“年龄是否为16岁或true”。这是因为您单独对
17
进行的条件检查将始终计算为true
(因为它是正值)。OR布尔运算符的工作方式与您现在的工作方式不同。
即使在检查同一变量时,我们也需要以不同的方式指定或设置条件
例如:
如果($this->age()==16 | | 17){
现在更新它
public function Youth(){
if($this->age() == 16 || $this->age() == 17){
return true;
} else {
return false;
}
}