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

问题描述

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

EMAIL
correctmail@gmail.com
nokmail@gmail.com
...

我遵循 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...