2013-09-25 121 views
2

我正在嘗試使用yii檢查數據庫表中是否存在記錄。閱讀documentation它說有一種方法存在(),可以用來代替找到使用findByAttributes()find()。使用較少內存的好處是因爲它不必檢索記錄,只是檢查它是否存在。檢查模型,以查看Yii中是否存在記錄-PHP

當我嘗試實現這個方法就像這樣:

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

我得到一個錯誤: *了CException:屬性「CDbCriteria.user_id」沒有定義*

如果我嘗試做它的findByAttributes方式,它工作正常(但我想使用exists()來提高效率)

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