2016-05-07 9 views
0

Ich habe dieses Stück Code:Laravel Befehl - Frage immer immer wahr?

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

in einem Laravel 5.2 Befehl, aber was auch immer die Antwort scheint es immer wahr zurückzukehren.

ich auch versucht:

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

Aber das geht immer in die Datenbank als falsch, unabhängig davon, ob ich eingeben y oder n.

Es wird ohne Zweifel etwas Dummes sein, aber kann jemand sehen, wo ich falsch liege?

Danke.

+0

$ this-> fragen ('? Ist das Urlaub gebucht [y | N]') eine nicht zurück Boolescher Wert (denn wenn Sie das dreifache Gleichheitszeichen verwenden, wird false zurückgegeben). Ich nehme an, das Problem liegt irgendwo in der "ask" -Funktion. – naneri

Antwort

1

am Ende mit:

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

Oder diese :) Versuchen:

$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"); 
    }