Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Yii 有一个内置的“存在”功能,我不明白我需要使用这个功能的场景。
以下查询将导致 NULL 或活动记录。
Posts::model()->findByPK('100')
此查询将产生一个布尔值:
Posts::model()->exist(sql)
如果结果为真,我是否需要发出另一个查询?这不是查询的“浪费”吗?(我主要关心性能)
谢谢,丹尼
函数本身的原因是性能..findByPk意味着如果找到则将模型加载到变量中,exixts意味着检查是否找到..想象这样一种情况,您只需要找出在给定条件下是否存在记录,那么为什么要加载整个模型实例在一个变量中,然后检查它是否为空,而不是直接有一个布尔值..
findByPk
exixts
如果您需要模型实例(如果它存在),那么如果 ofc 没有用,那么正如您所说,直接使用findByPk..