传递给 League\Csv\Statement::where() 的参数 1 必须是可调用的,字符串由 csv 联盟中的 where 语句给出

问题描述

我正在做一个 CakePHP 4 项目,使用 CSV League 来读取 csv 文件。 我的文件内容:

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

我遵循 this 示例: 在我的控制器类中,我定义了 filterByEmail 函数:

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);

我收到错误消息“传递给 League\Csv\Statement::where() 的参数 1 必须是可调用的,给出的字符串。” 怎么了? 任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)