Sherloc_L 2017-08-23 16:28:01 2322次浏览 2条回复 0 0 0

老司机们 ,ActiveRecord本身有没有使用占位符,然后类似bindValue之类绑定参数?

例如前端传了两变量然后查询, User::find()->andWhere(['sex' => $sex, 'age' => $age])->count('id');

  • 回复于 2017-08-23 17:05 举报

    自己看源码,有些function还是要自己处理的
    例如 如下注释,可以知道该方法可以使用绑定参数的形式

    • @param array $params parameters to be bound to the SQL statement during execution.

      • @return ActiveQuery the newly created [[ActiveQuery]] instance
        */
        public static function findBySql($sql, $params = [])
        {
        $query = static::find();
        $query->sql = $sql;

        return $query->params($params);
        }

  • 回复于 2017-08-23 17:06 举报

    感觉大多数情况下AR已经做了一些安全防sql 处理,具体的方法使用时,还得先看源码注释

您需要登录后才可以回复。登录 | 立即注册