Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 03.06.2021 18:18:51

Опять магическая ошибка от ларавел:This cache store does not support

This cache store does not support tagging. Есть два проекта, на одном всё работает, на другом выскакивает ошибка при использовании функции with('status', $status); В обоих проектах кэш указан идентично

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

Ктото может помочь разобраться в очередной магии ларавел?

Не в сети

#2 03.06.2021 20:37:21

Re: Опять магическая ошибка от ларавел:This cache store does not support

точнее не работает валидация  ни правила ни валидация а функция with работает

$request->validate([
            'phone' => 'required|string|max:255|exists:users,phone',
        ]);

public function rules()
    {
        return [
            'smscode' => 'required',
            'phone' => 'required'
        ];
    }

то есть когда запрос не проходит валидацию  выскакивает ошибка This cache store does not support tagging.

Изменено grafillo (03.06.2021 20:38:22)

Не в сети

#3 04.06.2021 10:15:32

Re: Опять магическая ошибка от ларавел:This cache store does not support

причина найдена, но не устранена ктонить работал с тенантами https://tenancyforlaravel.com/ они почемуто вызывают свой кэш при валидации. Ктонить знает как это устранить?

Не в сети

#4 07.06.2021 15:13:38

Re: Опять магическая ошибка от ларавел:This cache store does not support

Я знаю что кеш для multi-tenant должен быть раздельным для каждого "арендатора". Поэтому устранить это значит сломать. Скорее всего ты ничего не понял, но постарайся просто запомнить это.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#5 07.06.2021 15:14:13

Re: Опять магическая ошибка от ларавел:This cache store does not support

И начни пользоваться xdebug smile


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#6 07.06.2021 19:27:59

Re: Опять магическая ошибка от ларавел:This cache store does not support

и как надо прописать валидацию чтобы она использовала раздельный кеш?
там и без xdebug видно что вызывается класс кэша из тенантов который вызывает ошибку.

Не в сети

#7 08.06.2021 12:07:14

Re: Опять магическая ошибка от ларавел:This cache store does not support

Сосредоточься, Убунта. Какую ошибку? Почему ты связал её с валидацией? Я не понимаю ход твоих мыслей и, наверняка, никто не понимает.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#8 08.06.2021 13:28:33

Re: Опять магическая ошибка от ларавел:This cache store does not support

Потомучто когда валидация не проходит
$request->validate([
            'phone' => 'required|string|max:255|exists:users,phone',
        ]);
то выскакивает эта ошибка:This cache store does not support tagging.
Если валидация не определяет ошибок то ничего не выскакивает. Если я убираю роут из под тенантов   https://tenancyforlaravel.com/ , то всё также работает нормально и при валидации формы на экран вью выдаёт сообщение почему не прошла валидации. Если вставляю обратно под тенанты, то, если валидация не проходит, на экран выскакивает ошибкаunknown.png?width=1020&height=413

Изменено grafillo (08.06.2021 13:30:29)

Не в сети

#9 09.06.2021 20:36:00

Re: Опять магическая ошибка от ларавел:This cache store does not support

Это ничерта не говорит про валидацию. Отлаживайся, а не фантазируй.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#10 09.06.2021 22:38:44

Re: Опять магическая ошибка от ларавел:This cache store does not support

шта? х)
пишу русским по белому, если убираю роут из под тенатнов
вот так выглядит роут под тенантами

Route::middleware([
    'web',
     InitializeTenancyByDomain::class,
])->namespace("Auth")->group(function () {
    Route::get('/registration', 'RegisteredUserController@create')->name('shop.auth.register');

});

вот так выглядит роут без тенантов

Route::middleware([
    'web',
])->namespace("Auth")->group(function () {
    Route::get('/registration', 'RegisteredUserController@create')->name('shop.auth.register');

});

вот тот роут котоырй без тенантов работает нормально и валидация не выдаёт ошибок вот тот который под тенантами выдаёт вот эту ошибку unknown.png?width=1020&height=413если валидация находит ошибку, в чём фантазия сударь? в том что валидация из под тенантов не пашет?

Изменено grafillo (09.06.2021 22:42:55)

Не в сети

#11 10.06.2021 12:00:11

Re: Опять магическая ошибка от ларавел:This cache store does not support

Аргументация на уровне "Древние греки любили театр, они все мертвы. Театр - зло"
Не буду тебе мешать.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#12 10.06.2021 14:45:17

Re: Опять магическая ошибка от ларавел:This cache store does not support

Последняя попытка smile

Что такое валидация? Это точка где происходит ветвление в программе: если данные отвечают заданным требованиям, то выполняется один кусок кода, а если не отвечают то другой кусок кода (обработка ошибки). Вот в этом другом куске у тебя есть нечто, требующее кэш и, ещё более конкретно, кэш с поддержкой тегов. А этой поддержки нет. Это написано английским по белому в тексте. Почему? Потому что ты взял файловый кеш. https://laravel.com/docs/8.x/cache#cache-tags

и как надо прописать валидацию чтобы она использовала раздельный кеш?

Валидация не использует кеш. Читай выше что происходит.

В стеке вызовов ты мог бы найти нужное место или мог бы пошагово дойти до него с xdebug. Надо просто научиться читать сообщения об ошибках.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#13 10.06.2021 20:11:30

Re: Опять магическая ошибка от ларавел:This cache store does not support

Понял, спасибо , там в проект подключили ещё одного чела он нашёл баг, там тенанты в свою кодировку перекодируют языковые файлы в кеше которые вызывает валидация при ошибке, поэтому происходит ошибка, пока он нашёл только один вариант решения это выпилить языковые файлы)

Не в сети

Подвал раздела