On laravel 10 site I added with wendelladriel/laravel-validated-dto package app/DTO/ItemsFilterDTO.php class with methods :
<?php
namespace App\DTO;
use WendellAdriel\ValidatedDTO\Casting\IntegerCast;
use WendellAdriel\ValidatedDTO\Casting\StringCast;
use WendellAdriel\ValidatedDTO\SimpleDTO;
class ItemsFilterDTO extends SimpleDTO
{
...
/**
* By which field(s) data are returned
*
* @var string
*/
public ?string $sortBy = '';
/**
* @return array
*/
protected function casts(): array
{
return [
...
'sortBy' => new StringCast // ItemStatus
];
}
But on first using of this var in controller :
$filtersDTO->sortBy
I got error :
Access to an undefined property WendellAdriel\ValidatedDTO\SimpleDTO::$sortBy.
...
How can I fix this error ? Did I declare sortBy in wrong way ?
"laravel/framework": "^10.34.2",
"wendelladriel/laravel-validated-dto": "^3.3"
"nunomaduro/larastan": "^2.6.4",
Thanks in advance!
You should make sure that PHPStan understands
$filtersDTOisItemsFilterDTO.See: