Size: a a a

Laravel для начинающих

2021 June 11

AH

Andrey Helldar in Laravel для начинающих
источник

AH

Andrey Helldar in Laravel для начинающих
А как получаешь? Просто функцию вызываешь или что с ней делаешь?
источник

V

Vladyslav in Laravel для начинающих
но лучше проверка
источник

V

Vladyslav in Laravel для начинающих
чем синк
источник

V

Vladyslav in Laravel для начинающих
наверно
источник

V

Vladyslav in Laravel для начинающих
так будет селект, а так будет делит + инсерт
источник

D

Dimk_O in Laravel для начинающих
Route::get('/set', function() { cookie('seen_recently', 'test', '999'); } );


Route::get('/get', function() { dd(request()->cookie('seen_recently')); );
источник

D

Dimk_O in Laravel для начинающих
вот так
источник

AH

Andrey Helldar in Laravel для начинающих
Ясно. При установки куки нужно явно отдавать её на фронт, иначе она не будет передана в браузер:

Route::get('set', function () {
   $cookie = cookie('seen_recently', 'test', 999);
   
   return response()->withCookie($cookie);
});
источник

AH

Andrey Helldar in Laravel для начинающих
А так, получается, ты её создаёшь в переменной и никуда дальше не передаёшь.
источник

D

Dimk_O in Laravel для начинающих
Понял. Спс большое ^_^
источник

AH

Andrey Helldar in Laravel для начинающих
И ещё нюанс - это сработает только в web роутах - в api нет кук.
источник

D

Dimk_O in Laravel для начинающих
это понятно
источник

D

Dimk_O in Laravel для начинающих
в веб и вызываю
источник

D

Dimk_O in Laravel для начинающих
'''test'''
источник

D

Dimk_O in Laravel для начинающих
Хм а в моделях response разве не работает?
источник

D

Dimk_O in Laravel для начинающих
public function addToSeenRecently()
   {
       if(!request()->cookie('product_seen_recently')) {
           $cookie = cookie()->forever('product_seen_recently', serialize($this->toArray()));
           return response()->withCookie($cookie);
       } else {
           $products = unserialize(cookie()->get('product_seen_recently'));
           $cookie = cookie()->forever('product_seen_recently', serialize(array_push($products, $this->toArray())));
           return response()->withCookie($cookie);
       }
   }
источник

D

Dimk_O in Laravel для начинающих
Method Illuminate\Routing\ResponseFactory::withCookie does not exist.
источник

AH

Andrey Helldar in Laravel для начинающих
1. Работает, если этот метод будет отдаваться контроллером:

Route::get('set', function () {
   $model = Post::first()
   
   return $model->addToSeenRecently();
});

2. Не надо так делать. Модель не должна ничего знать о респонсах. Это задача контроллера.

3. Что за трешовый подход?
источник

D

Dimk_O in Laravel для начинающих
Пытаюсь реализовать блок последние просмотренные продукты
источник