Laravel:使用Form :: textarea中的项目在MySQL数据库中搜索

时间:2014-05-07 23:27:42

标签: 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 (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);
    }
}

Input::get('itemlist')收到的数据是项目和金额的列表,如:

5 apples
2 oranges
1 banana

Looking for ...部分正确显示项目名称。此外,var_dump实际上会显示搜索到的最后内容的正确结果,其他所有内容都只是'null'

是否有DB:table的某些内容停止在这样的循环中进行查询?我应该以其他方式这样做吗?谢谢!

编辑结果发现有落后&#39; \ r&#39;在除了最后一行之外的每一行之后,所以查询是针对&#34; Some Item \ r&#34;而不是&#34;某些项目&#34;。修正了它!

0 个答案:

没有答案