【问题标题】:Multiple parameter binding in laravel DB:Raw FOR WHERE IN clauselaravel DB:Raw FOR WHERE IN 子句中的多参数绑定
【发布时间】:2021-12-31 11:00:11
【问题描述】:

谁能做到多参数绑定?

$userTypeID = [1,2,3];
$userDeptID = [1,4,6];
$arr = join(",",$arr);
DB::select("select * from users WHERE userTypeID IN (?,?,?) AND userDeptID IN(?,?,?)");

我被这个问题困扰了很长时间。 感谢您的帮助!

【问题讨论】:

  • 我无法使用它,因为我有一个复杂的查询,我是 DB: raw。因此,为了防止它被 SQL 注入,我必须绑定参数。请指导我 DB: raw 在我刚刚为您提供示例代码但实际上非常复杂的问题中。
  • 我无法使用 eloquent,因为我有一个复杂的查询,我正在使用 DB: raw。因此,为了防止它被 SQL 注入,我必须绑定参数。请指导我 DB: raw 在我刚刚为您提供示例代码但实际上非常复杂的问题中。

标签: php sql-server


【解决方案1】:

你可以使用 Eloquent

...WhereIn(...arr)

例如

function scopeSomething($q, $array)
{
     return $q->where(function($q) use ($array) {
        foreach($array as $k => $v){
            $q->whereIn($k, $v);
        }
    });
}

【讨论】:

  • 我无法使用它,因为我有一个复杂的查询,我是 DB: raw。因此,为了防止它被 SQL 注入,我必须绑定参数。请指导我 DB: raw 在我刚刚为您提供示例代码但实际上非常复杂的问题中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-12
  • 1970-01-01
  • 2016-04-10
  • 2011-03-23
  • 2017-11-18
  • 1970-01-01
相关资源
最近更新 更多