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

时间:2016-07-18 13:26:38

标签: laravel eloquent where

我在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语句。

有没有办法完成这项工作?

1 个答案:

答案 0 :(得分:1)

更改$keyword代替$restriction

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

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