所以我知道如果我构建一个动态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;
}
如果我在laravel中使用查询生成器,则用户输入将被自动清除,但是我不知道如何在运行时使用查询生成器创建具有动态数量的where子句的查询.这可能吗?
解决方法:
$query = $tableModel->newQuery();
foreach($items as $key => $val) {
$query->where($key, "LIKE", '%'.$val.'%');
}