bcosca / fatfree

A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust Web applications - fast!
2.66k stars 446 forks source link

Mapper->load() fails if the first parameter is an empty array #1257

Closed paolobertani closed 1 year ago

paolobertani commented 2 years ago

Mapper->load() calls stringyfy() passing the filter

on line 225 of db/sql/mapper.php

if (is_array($filter) )

doesn't check if $filter is an empty array. In that case the function produces an error trying to access $filter[0]

I suggest to change with

if (is_array($filter) && count($filter)>0)

pauljherring commented 2 years ago

You should pass null, if the filter is otherwise empty.

Because that's what's used if you specify nothing at all in the parens.

paolobertani commented 2 years ago

yes, off course

I just wonder if it's enought clear from the documentation

I think an empty array should be allowed as well to specify that no filter have to be applied, just as passing null or an empty string.