我在Laravel Eloquent中执行foreach循环,在每个foreach中我需要向SQL查询添加一个新的Where语句。我试过这个但是它没有用:
$list = Records::whereNull('deleted_at');
foreach ($search as $keyword)
{
$list = $list->orWhere("title", 'like', '%'.$restriction.'%');
}
$list = $list->get();
然后应该返回:
$list = Records::whereNull('deleted_at')->orWhere("title", 'like', '%'.$restriction[0].'%')->orWhere("title", 'like', '%'.$restriction[1].'%')->get();
但它似乎只是返回所有记录。请注意,我只在那里添加whereNull(' deleted_at'),因为否则我有orWhere而没有另一个where语句。
有没有办法完成这项工作?
答案 0 :(得分:1)
更改$keyword
代替$restriction
$list = Records::whereNull('deleted_at');
foreach ($search as $keyword)
{
$list = $list->orWhere("title", 'like', '%'.$keyword.'%');
}
$list = $list->get();