Для этого внутри контроллера WineController, который эффективно фильтрует вина, мы проверяем наличие файла cookie и затем приступаем к выполнению запроса.
Проблема в том, что сразу после создания сразу удаляется только конкретный файл cookie (локально это работает, онлайн — нет). ). Мы попробовали другой подход, чтобы правильно сохранить и получить этот файл cookie, мы использовали как файлы cookie laravel, так и файлы cookie php, мы также попробовали использовать сеанс laravel (это была первая идея, но эта конкретная переменная игнорируется).
Сейчас мы используем Laravel 9, это запрос, который эффективно фильтрует вина внутри WineController
Код: Выделить всё
//WineController
/*other code*/
if ( Session::has("regione") || Cookie::has("regione") || isset($_COOKIE['regione']) ) {
if(Cookie::has("regione"))
$cookie = Cookie::get("regione");
if(isset($_COOKIE['regione']))
$cookie = $_COOKIE['regione'];
$wines = (Session::has("regione")) ? $wines->where("regione", Session::get("regione") ) : $wines->where("regione", $cookie );
$regionearray[] = Session::has("regione") ? Session::get("regione") : $cookie;
}
/*other code*/
В WizardController мы устанавливаем это так
Код: Выделить всё
//WizardController
$session = Session::put('regione', $regioni);
$cookie = Cookie::queue(Cookie::make('regione', $regioni, 1440));
setcookie('regione', $regioni, time()+1440, '/');
if(!isset($cookie) || !isset($_COOKIE['regione'])) {
$data = [
"user" => $user,
"slug" => $slug,
"tipologie" => $tipologie
];
} else{
$data = [
"user" => $user,
"slug" => $slug,
"tipologie" => $tipologie,
"cookie" => $cookie
];
}
return $data;
Как было сказано ранее, это отлично работает локально и на тестовом домене, а на рабочем - нет.
Извините за плохой английский и/или плохое объяснение проблемы.
Спасибо. за вашу помощь.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -create-it
Мобильная версия