Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 函数用于检查用户是否在某个年龄以下返回true,而在该年龄段返回false_Laravel_Laravel 5 - Fatal编程技术网

Laravel 函数用于检查用户是否在某个年龄以下返回true,而在该年龄段返回false

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

我有一个功能,根据出生日期检查用户的年龄。这是在我的用户模型上

出生日期为1995年2月23日

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;
      }
    }