Laravel命令 - 请求总是返回true?

时间:2016-05-07 05:31:52

标签: php laravel laravel-5

我有这段代码:

if($this->ask('Is this holiday booked? [y|N]')) {
                    $holiday->booked = true;
                } else {
                    $holiday->booked = false;  
                }

在Laravel 5.2命令中,但无论响应如何,它似乎总是返回true。

我也尝试过:

 if($this->ask('Is this holiday booked? [y|N]') === true) {
                        $holiday->booked = true;
                    } else {
                        $holiday->booked = false;  
                    }

但无论是否输入y或n,它总是将其作为false输入数据库。

毫无疑问,这将是一件愚蠢的事情,但任何人都可以看到我出错的地方吗?

感谢。

2 个答案:

答案 0 :(得分:1)

结束使用:

 if(!$this->confirm('Is this holiday booked? [y|N]'), false) {
                        $holiday->booked = false;
                    } else {
                        $holiday->booked = true;  
                    }

答案 1 :(得分:0)

或试试这个:):

$input = $this->ask('Is this holiday booked? [y|n]');

  if($input == 'y' || $input == 'Y') {
      $holiday->booked = true;
  } 
  elseif($input == 'n' || $input == 'N') {
    $holiday->booked = true;
  }
   else {
    $this->error("wrong input"); 
  }