2013-09-25 3 views
2

yii를 사용하여 데이터베이스 테이블에 레코드가 이미 있는지 확인하려고합니다. 그것은 말한다 documentation을 읽는 대신 findByAttributes를 사용하여() 또는 발견()을 녹화를 찾는 사용할 수있는 방법()있다. 메모리를 적게 사용하는 이점은 레코드를 검색 할 필요가 없기 때문에 메모리가 사용된다는 것입니다. 내가 지금과 같은이 메소드를 구현하려고하면Yii-PHP에 레코드가 있는지 확인하려면

:

if (UserRsvp::model()->exists(array("user_id"=>$userId))) { 
     echo 'Exists'; 
    } else { 
     echo "Doesn't exist"; 
    } 

오류가 발생합니다 : * CException :. 속성 "CDbCriteria.user_id"정의되지 않은 *

내가하려고하면 그것은이 작품을 잘 findByAttributes 방법 (하지만 난() 효율을 향상시키기 위해 존재 사용할)

if(UserRsvp::model()->findByAttributes(array("user_id"=>$userId))) { 

    echo 'Exists'; 
} else { 
    echo "Doesn't exist"; 
} 

나는 존재한다() 메소드 뭔가 잘못하고 있습니까?

답변

17

사용이 :

UserRsvp::model()->exists('user_id = :user_id', array(":user_id"=>$userId)); 
+0

이이처럼 사용할 수 있습니다 : UserRsvp :: 모델() ->이 ('USER_ID ='$ 사용자 ID를.) 존재; – sprytechies

+0

@sprytechies Yii에 없습니다. 1.1. – Esamo

관련 문제