【问题标题】:how to make sql query with and in yii active record?如何使用和在 yii 活动记录中进行 sql 查询?
【发布时间】:2014-11-18 09:35:20
【问题描述】:

我是 Yii 的新手。现在我在 yii 中遇到了活动记录的问题。

所以,我这里有正常的 sql:

 $sqlText = "SELECT *
        FROM tbl_webservicetokens
        WHERE clienttoken = '{$appToken}'
            AND
              systimestamp < expiredate";

我想使用活动记录。但我努力了

$post=TBLWEBSERVICETOKENS::model()->find(
        'CLIENTTOKEN=:appToken AND EXPIREDATE>:systimestamp', 
        array(
            ':appToken'=>$appToken,
            ':systimestamp'=>'systimestamp'));

但我有错误! 有什么想法吗?

【问题讨论】:

  • $criteria = 新 CDbCriteria; $criteria->condition = "ID = 1212 AND CLIENTTOKEN = 'ws546b041c85ad38a2c1f4224e1e39fe09cf76a3c8703c5'"; $models = TBLWEBSERVICETOKENS::model()->findAll($criteria);回声“
    ”; print_r($models);回声“
    ”;

标签: php activerecord yii


【解决方案1】:

试试这个查询。我认为这对你有用。

 $post= TBLWEBSERVICETOKENS::model()->find(array(
       'select'=>'*',
       'condition'=>'CLIENTTOKEN=:appToken AND EXPIREDATE>:systimestamp',
       'params'=>array(':appToken'=>$appToken,':systimestamp'=>'systimestamp'))
       );

【讨论】:

  • 不幸的是,我有错误`CDbCommand未能执行SQL语句:ORA-01858:
【解决方案2】:

您为日期时间字段传递了错误的数据类型(字符串),您注意到了吗

$post=TBLWEBSERVICETOKENS::model()->find(
        'CLIENTTOKEN=:appToken AND EXPIREDATE>:systimestamp', 
        array(
            ':appToken'=>$appToken,
            ':systimestamp'=>$systimestamp)); //$systimestamp where your time data type value resides 

如果你仍然有错误 Read Me!!!

【讨论】:

    【解决方案3】:

    嗯,在我看来我找到了答案:

    $criteria = new CDbCriteria;
    

    $criteria->condition = "ID = 1212 AND CLIENTTOKEN = 'ws546b041c85ad38a2c1f4224e1e39fe09cf76a3c8703c5'"; $models = TBLWEBSERVICETOKENS::model()->findAll($criteria);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 2021-10-30
      • 2011-10-24
      相关资源
      最近更新 更多