170 похожих чатов

Всем привет, столкнулся тут с проблемкой по psalm use App\Models\Logs; ... $logs =

Logs::query()->with('company')->get();

$errorsArray = $logs
->map(static function (Logs $log): string {
$logList = implode(', ', [
$log->company->code,
$log->company->full_name,
$log->message,
]);

$log->delete();

return $logList;
});

при запуске psalm (error_level=6) возникает проблема

InvalidTemplateParam - app/Console/Commands/SendAutoCommissionErrorsToManagerCommand.php:26:24 - Extended template param TModel of Illuminate\Database\Eloquent\Collection<int, non-empty-string>&static expects type Illuminate\Database\Eloquent\Model, type non-empty-string given

может кто знает с чем это связано, может кто сталкивался или знает? Спасибо

15 ответов

113 просмотров

Стикер

а в vendor psalm должен залазить?

Rinat-V Автор вопроса

Это у коллекции такой стоит, которая возвращается от Logs::query()->get()

Rinat V
Это у коллекции такой стоит, которая возвращается ...

это можно поменять на Logs::all() будет тоже самое)

Rinat-V Автор вопроса
FFx0001
это можно поменять на Logs::all() будет тоже самое...

в этом случае all не сработает Logs::query()->with('company')->get();

Rinat-V Автор вопроса
Egor Gruzdev
а в vendor psalm должен залазить?

ну вроде бы да, чтобы зависимости и типы аргументов простроить

Rinat V
в этом случае all не сработает Logs::query()->with...

ну уже от логики связи зависит это все еще безсловный запрос с подтягиванием связи на компанию а если связи нет то добавит company = null

Rinat V
в этом случае all не сработает Logs::query()->with...

where нужен если ты хочешь фильтрацию по конкретным компаниям или по не пустым

а еще без лимитов и пагинации он тебе на каждую запись в бд будет создавать суб запрос от чего очень скоропостижно упадет бд при большой вборке

Rinat-V Автор вопроса
FFx0001
а еще без лимитов и пагинации он тебе на каждую за...

соглашусь, но проблему с psalm это не решает (

Rinat V
соглашусь, но проблему с psalm это не решает (

какая с ним проблема - если верно понял это статический анализатор кода - очевидно ему нужен вендор

Rinat-V Автор вопроса
FFx0001
какая с ним проблема - если верно понял это статич...

При анализе кода use App\Models\Logs; ... $logs = Logs::query()->with('company')->get(); $errorsArray = $logs ->map(static function (Logs $log): string { $logList = implode(', ', [ $log->company->code, $log->company->full_name, $log->message, ]); $log->delete(); return $logList; }); psalm возвращает ошибку InvalidTemplateParam - app/Console/Commands/SendAutoCommissionErrorsToManagerCommand.php:26:24 - Extended template param TModel of Illuminate\Database\Eloquent\Collection<int, non-empty-string>&static expects type Illuminate\Database\Eloquent\Model, type non-empty-string given в этом проблема

Rinat V
При анализе кода use App\Models\Logs; ... $logs...

проблема не в пакете а в твоем коде

Rinat V
При анализе кода use App\Models\Logs; ... $logs...

static function (Logs $log): string замени на static function (Logs $log): Logs

Rinat-V Автор вопроса
FFx0001
static function (Logs $log): string замени на sta...

а мне надо, чтобы он возвращал коллекцию строк

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта