关于php:如何在yii活动记录中进行sql查询?

how to make sql query with and in yii active record?

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

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

1
2
3
4
5
 $sqlText ="SELECT *
        FROM tbl_webservicetokens
        WHERE clienttoken = '{$appToken}'
            AND
              systimestamp < expiredate"
;

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

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

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


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

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

如果你仍然有错误
读我!!!


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

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


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

1
$criteria = new CDbCriteria;

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