向 Laravel 中的查询添加新的 WHERE 语句

Adding new WHERE statements to a query in Laravel

我在 Laravel Eloquent 中做一个 foreach 循环,在每个 foreach 中我需要向 SQL 查询添加一个新的 Where 语句。我已经试过了,但它不起作用:

            $list = Records::whereNull('deleted_at');

            foreach ($search as $keyword) 
            {
                $list = $list->orWhere("title", 'like', '%'.$restriction.'%');
            }
            $list = $list->get();

这应该 return:

$list = Records::whereNull('deleted_at')->orWhere("title", 'like', '%'.$restriction[0].'%')->orWhere("title", 'like', '%'.$restriction[1].'%')->get();

但似乎return所有记录。请注意,我只在其中添加 whereNull('deleted_at') ,否则我有 orWhere 而没有另一个 where 语句。

有没有办法做到这一点?

$keyword 代替 $restriction

     $list = Records::whereNull('deleted_at');

        foreach ($search as $keyword) 
        {
            $list = $list->orWhere("title", 'like', '%'.$keyword.'%');
        }
        $list = $list->get();