2014-11-18 5 views
0

나는 Yii.에서 새로운입니다. 이제 yii의 활성 레코드에 문제가 발생했습니다. 내가 활성 기록을 사용하려면yii 활성 레코드를 사용하여 SQL 쿼리를 만드는 방법은 무엇입니까?

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

:

그래서, 내가 여기에 정상적인 SQL을 가지고있다. 그러나 나는 열심히 노력했다.

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

나는 잘못했다! 아이디어가 있으십니까?

+0

$ 기준 = 새로운 CDbCriteria이

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

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

"; print_r($models); echo "
"; – Almas

답변

1

이 쿼리를 사용해보십시오. 나는 이것이 당신을 위해 일할 것이라고 생각합니다.

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

유감스럽게도,'CDbCommand가 SQL 문을 실행하지 못했습니다. ORA-01858 : – Almas

0

글쎄, 내가 답변을 찾을 날 것으로 보인다 :

$criteria = new CDbCriteria; 

$ criteria-> 상태 = "ID = 1212 AND CLIENTTOKEN이 = 'ws546b041c85ad38a2c1f4224e1e39fe09cf76a3c8703c5을'"; $ models = TBLWEBSERVICETOKENS :: model() -> findAll ($ criteria); 당신은 날짜 시간 필드에 잘못된 데이터 유형 (문자열)을 전달하는

관련 문제