Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Метод с длинным, но однозначным названием abortRequestIfAnotherOneWithSameIdExistsInDatabase() должен прервать выполнение скрипта, если в БД будет зайдена запись с таким же ID визита сайта (то есть два запроса подряд за один визит сайта не позволено). return redirect() к прерыванию не приводит, и все методы после abortRequestIfAnotherOneWithSameIdExistsInDatabase() выполняются, чего быть не должно. Естественно, я не могу вставить exit; после return, так как всё, что после return, не будет выполнено.
Что можно сделать в качестве альтернативы?
<?php
public function submitConsultationRequest(){
$this -> abortRequestIfAnotherOneWithSameIdExistsInDatabase();
// другие методы
}
private function abortRequestIfAnotherOneWithSameIdExistsInDatabase(){
$queryResult = DB::table('requests') ->
where( 'visitId' => request() -> session() -> get('visitId'),
]) -> first();
if (!is_null($queryResult)) {
return redirect() -> route('top');
}
}
Изменено Gleb2708 (04.02.2018 04:50:50)
Не в сети
Не в сети
Не в сети
должен прервать выполнение скрипта, если в БД будет зайдена запись с таким же ID визита сайта
Не в сети