Yii2 ActiveRecord附加Where子句

时间:2016-06-05 01:43:48

标签: activerecord yii2 rbac

我遇到RBAC在ActiveRecord查询中添加额外“where”子句的问题。如何删除包含“Role ='admin'”

的Where语句

FYI,

  1. 在我的模型中,我没有任何覆盖find()
  2. 我正在使用detkrium RBAC。
  3. 表格中没有角色列(myrules)。 SQL结果适用于每个用户。
  4. PHP的错误

    *

    模型

    Database Exception – yii\db\Exception
    
    SQLSTATE[42S22]: Column not found: 1054 Unknown column 'role' in 'where clause'
    The SQL being executed was: **SELECT * FROM `myrules` WHERE role NOT LIKE "admin" ORDER BY `seq_no` LIMIT 20**
    Error Info: Array
    (
    [0] => 42S22
    [1] => 1054
    [2] => Unknown column 'role' in 'where clause
    

    控制器

    namespace app\models;
    use Yii;
    
    class MyRulesModel extends \yii\db\ActiveRecord
    {
    /**
    * @inheritdoc
    */
    public static function tableName()
    {
    return 'myrules';
    }
    
    ......
    }
    

1 个答案:

答案 0 :(得分:0)

只是为了更新。我发现了这个问题。有人更改了 /app/data/ActiveDataProvider.php 文件。恢复到原始代码修复了问题。感谢。