所以我知道如果我构建一个动态 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.'%');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)