Контроллер
Код: Выделить всё
DB::connection()->enableQueryLog();
$transfer = Transfer::where('ticket_id', $last_ticket)->where('event_id', 36)->where('buyer', $user_email)->first();
$queries = DB::getQueryLog();
dd($queries);
Код: Выделить всё
array:1 [
0 => array:3 [
"query" => "select * from `transfers` where `ticket_id` = ? and `event_id` = ? and `buyer` = ? limit 1"
"bindings" => array:3 [
0 => false
1 => 36
2 => "[email protected]"
]
"time" => 0.36
]
]
Код: Выделить всё
$last_ticketВ моем примере $last_ticket имеет значение false, но в БД нет ложных значений, почему я все равно получаю результаты?
Это потому, что всякий раз, когда условие ложно, это не учитывается в уравнении?
Итак, вопрос:
Как я могу получить правильные результаты, то есть: если $last_ticket имеет значение false, то результатов нет, и если в нем есть какие-то данные, то вернуть результат строки, ограниченный $last_ticket
Одним из вариантов может быть поставить if($last_ticket == false){$last_ticket='randomInexistentString_ag4dh&2g32y4t' так это не ноль и не ноль, но я не думаю, что это лучший вариант
Мобильная версия