我有这段代码将为我的查询生成器创建多个orWhere子句,因为在传递数组变量时我无法在一行中执行此操作:

$img_Search = DB::table('attachment')
                foreach($img_arr as $searchie)
                    ->orWhere('url', 'LIKE', '%'.$searchie.'%')
                }
                ->get();


这里的问题是,如果在查询生成器之间存在循环,则返回错误,尽管我在堆栈中找到了相同的代码,并将其标记为已接受。这真是让我烦恼为什么不允许在两者之间进行简单循环。

最佳答案

那是PHP中的无效语法,但是您可以做的是在其中添加更多字符,它应该可以工作。

$query= DB::table('attachment');
foreach($img_arr as $searchie)
    $query->orWhere('url', 'LIKE', '%'.$searchie.'%');
}
$img_Search= $query->get();

关于php - laravel 5.2使用循环添加orWhere子句会返回错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35387182/

10-12 05:35