如何使用和yii活动记录进行SQL查询?

时间:2014-11-18 09:35:20

标签: php activerecord yii

我是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'));

但我有错误! 任何想法?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

如果您仍有错误 Read Me!!!

答案 2 :(得分:0)

好吧,在我看来,我找到答案:

$criteria = new CDbCriteria;

$ criteria-&gt; condition =&#34; ID = 1212 AND CLIENTTOKEN =&#39; ws546b041c85ad38a2c1f4224e1e39fe09cf76a3c8703c5&#39;&#34 ;; $ models = TBLWEBSERVICETOKENS :: model() - &gt; findAll($ criteria);