Аргумент 1, переданный в League\Csv\Statement::where(), должен быть вызываемым, строка передается с оператором where в лиге csv

Я работаю над проектом CakePHP 4, используя CSV League для чтения CSV-файла. Содержимое моего файла:

EMAIL
[email protected]
[email protected]
...

Я следую этому примеру: в моем классе контроллера я определяю функцию фильтр по электронной почте:

function filterByEmail(array $record): bool
{
    return (bool) filter_var($record[0], FILTER_VALIDATE_EMAIL);
}

Внутри приватной функции readFileImport($filename):

$reader = Reader::createFromPath('path_to_my_csv_file', 'r');
$stmt = (new Statement())
    ->offset(1)
    ->limit(10)
    ->where('filterByEmail');

$records = $stmt->process($reader);

Я получаю сообщение об ошибке. Аргумент 1, переданный в League\Csv\Statement::where(), должен быть вызываемым, задана строка. Что случилось? Любая помощь будет оценена по достоинству.


person Ethan    schedule 23.12.2020    source источник
comment
Где именно находится этот код? это в файле с пространством имен?   -  person ndm    schedule 23.12.2020
comment
@ndm Я отредактировал сообщение в ответ на ваш вопрос   -  person Ethan    schedule 24.12.2020
comment
Когда вы говорите в моем классе контроллера, вы имеете в виду, что определяете функцию filterByEmail как метод класса контроллера, как и readFileImport?   -  person ndm    schedule 24.12.2020
comment
@ndm Да, именно!   -  person Ethan    schedule 26.12.2020
comment
stackoverflow.com/questions/3350762/   -  person ndm    schedule 26.12.2020