您可以使用查询生成器在laravel中在运行时使用动态WHERE子句来生成查询吗?

所以我知道如果我构建一个动态sql字符串,我可以执行以下操作

$sql = "SELECT * FROM " . $table;

$first = 1;
foreach($items as $key => $val)
{
   if($first) $sql .= " WHERE ";
       else $sql .= " AND ";
   $sql .= $key . " LIKE " . $VAL;
   $first = 0;
}

然后调用DB :: Query($sql);

但这不会自动保护用户输入.

如果我在laravel中使用查询生成器,则用户输入将被自动清除,但是我不知道如何在运行时使用查询生成器创建具有动态数量的where子句的查询.这可能吗?

解决方法:

$query = $tableModel->newQuery();

foreach($items as $key => $val) {
    $query->where($key, "LIKE", '%'.$val.'%');
}

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载