Query::whereFieldSql fails to populate more than one placeholder
e.g.
$query->whereFieldSql('DATE(created)', 'BETWEEN ? AND ?', ['2016-01-01', '2017-01-01']);
results in "WHERE DATE(created) BETWEEN '2016-01-01' AND '2016-01-01'" because callback is shifting from $params but $params is not passing by reference... so it's just using first value every time
Query::whereFieldSql fails to populate more than one placeholder
e.g.
$query->whereFieldSql('DATE(created)', 'BETWEEN ? AND ?', ['2016-01-01', '2017-01-01']);
results in "WHERE DATE(created) BETWEEN '2016-01-01' AND '2016-01-01'" because callback is shifting from $params but $params is not passing by reference... so it's just using first value every time