Laravel:在MySQL数据库中搜索表单::textarea中的项目
我正在尝试查询MySQL数据库中来自textarea的项目。我的控制器的Laravel:在MySQL数据库中搜索表单::textarea中的项目,mysql,laravel,Mysql,Laravel,我正在尝试查询MySQL数据库中来自textarea的项目。我的控制器的store()函数具有以下代码: // [...] validation is done here and assumed ok foreach(explode("\n", Input::get('itemlist')) as $line) { $item = preg_split('/(?<=\d) (?=[a-z])|(?<=[a-z])(?=\d)/i', $line); if (isse
store()
函数具有以下代码:
// [...] validation is done here and assumed ok
foreach(explode("\n", Input::get('itemlist')) as $line) {
$item = preg_split('/(?<=\d) (?=[a-z])|(?<=[a-z])(?=\d)/i', $line);
if (isset($item[1])) {
echo 'Looking for ' . $item[1];
$itemObj = DB::table('items')->select('name', 'id')->where('name', '=', trim($item[1], "\r"))->first();
var_dump($itemObj);
}
}
查找…
部分正确显示项目名称。另外,var\u dump
实际上会显示上一次搜索的的正确结果,其他所有内容都是'null'
关于DB:table
,是否有什么东西在这样的循环中停止了查询?我应该用别的方法吗?谢谢
EDIT结果表明,除了最后一行之外,每行后面都有“\r”,因此查询是针对“某个项目”而不是“某个项目”。上面修好了 我建议您安装一个或,如果您使用的是Google Chrome,请同时安装这两个,如果它将显示正在运行的实际查询
DB::table
不应以这种方式影响查询,但它可能被错误地转义。请尝试其中一个,然后向我们展示返回的查询。谢谢!事实证明,在每个$item[1]
的末尾都有一个尾随“\r”,直到最后一个,因此查询是针对“某个项目”\r的,因此无法找到它。我安装了时钟系统,并立即发现了问题。谢谢
5 apples
2 oranges
1 banana