Hi,
The table classes I baked have a lot of @method annotations in their phpdoc block:
* @method \Invoicing\Model\Entity\ResellerProof newEmptyEntity()
* @method \Invoicing\Model\Entity\ResellerProof newEntity(array $data, array $options = [])
* @method array<\Invoicing\Model\Entity\ResellerProof> newEntities(array $data, array $options = [])
* @method \Invoicing\Model\Entity\ResellerProof get(mixed $primaryKey, array|string $finder = 'all', \Psr\SimpleCache\CacheInterface|string|null $cache = null, \Closure|string|null $cacheKey = null, mixed ...$args)
* @method \Invoicing\Model\Entity\ResellerProof findOrCreate($search, ?callable $callback = null, array $options = [])
* @method \Invoicing\Model\Entity\ResellerProof patchEntity(\Cake\Datasource\EntityInterface $entity, array $data, array $options = [])
* @method array<\Invoicing\Model\Entity\ResellerProof> patchEntities(iterable $entities, array $data, array $options = [])
* @method \Invoicing\Model\Entity\ResellerProof|false save(\Cake\Datasource\EntityInterface $entity, array $options = [])
* @method \Invoicing\Model\Entity\ResellerProof saveOrFail(\Cake\Datasource\EntityInterface $entity, array $options = [])
* @method iterable<\Invoicing\Model\Entity\ResellerProof>|\Cake\Datasource\ResultSetInterface<\Invoicing\Model\Entity\ResellerProof>|false saveMany(iterable $entities, array $options = [])
* @method iterable<\Invoicing\Model\Entity\ResellerProof>|\Cake\Datasource\ResultSetInterface<\Invoicing\Model\Entity\ResellerProof> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Invoicing\Model\Entity\ResellerProof>|\Cake\Datasource\ResultSetInterface<\Invoicing\Model\Entity\ResellerProof>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Invoicing\Model\Entity\ResellerProof>|\Cake\Datasource\ResultSetInterface<\Invoicing\Model\Entity\ResellerProof> deleteManyOrFail(iterable $entities, array $options = [])
*/
This causes PHPStan (with CakePHP extension) to moan about the array parameters:
Class Invoicing\Model\Table\ResellerProofsTable has PHPDoc tag @method for method deleteMany() parameter #1 $entities with no value type specified in iterable type iterable.
What is the suggestion here? I could delete the phpdoc methods but I was under the impression that CakePHP is fine up to level 8? This is happening at level 6, I believe.