1

Yiiには「exists」関数が組み込まれていますが、この関数を使用する必要があるシナリオがわかりません。

次のクエリは、NULLまたはアクティブレコードになります。

Posts::model()->findByPK('100')

このクエリはブール値になります:

Posts::model()->exist(sql)

結果がtrueの場合、別のクエリを発行する必要がありますか?それはクエリの「無駄」ではありませんか?(私は主にパフォーマンスに関心があります)

ありがとう、ダニー

4

1 に答える 1

2

そして、関数自体の理由はパフォーマンスです..findByPk見つかった場合は変数にモデルをロードすることをexixts意味し、見つかった場合はチェックすることを意味します..特定の条件でレコードが存在するかどうかを調べなければならない場合を想像してください。変数内のモデル インスタンス全体を取得し、null かどうかをチェックし、代わりにブール値を直接指定します。

モデルインスタンスが存在する場合に必要な場合は、 ofc が役に立たない場合は、直接使用すると言ったようにfindByPk..

于 2013-02-19T18:16:13.863 に答える