【问题标题】:adding both equal and not equal conditions in Yii在 Yii 中添加相等和不相等的条件
【发布时间】:2014-10-20 14:10:20
【问题描述】:
$id = Yii::app()->user->getState("logId");
$name = Yii::app()->user->getState("username"); 

$dataProvider=Disnotification::model->findAllByAttributes(array('logID' => $id,'username'!=$name));

如何找到等于$id 但不等于$name 的记录?

【问题讨论】:

    标签: php activerecord yii equals-operator


    【解决方案1】:
    $dataProvider = Disnotification::model() -> findAllByAttributes(
            array(
                'logId'=>$id,
            ),
            new CDbCriteria(
                array(
                    'order'=>'x ASC, y DESC',
                    'condition'=>'username<>'.$username,
                ))
        );
    

    【讨论】:

      【解决方案2】:
      $criteria=new CDbCriteria;
      $criteria->condition = "username != '$name' AND logID = :id";
      $criteria->params = array (
          ':id' => $id,
      );
      $dataProvider = Disnotification::model()->findAll( $criteria );
      

      【讨论】:

      • 谢谢。它起作用了。但是你应该从 $id 中删除 ' '。否则它将无法正常工作。希望这是一个错误。 (':id' => $id)
      【解决方案3】:
      $criteria = new CDbCriteria();
      $criteria->compare('logID' , $id);
      $criteria->addCondition('username != :username');
      $criteria->params[ ':username' ] = $name;
      
      $dataProvider = Disnotification::model()->findAll( $criteria );
      

      【讨论】:

      • 亲爱的先生,它给出了一个错误,说 CDbCommand 无法执行 SQL 语句:SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens.
      • 我更新了我的答案,@user3894236 你找到你一直在寻找的东西了吗?
      猜你喜欢
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 2018-03-10
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多