Yii有一个内置的"exists"函数,我不理解需要使用该函数的场景。
以下查询将导致NULL或活动记录。
Posts::model()->findByPK('100')
此查询将产生布尔值:
Posts::model()->exist(sql)
如果结果为真,我是否需要发出另一个查询?这难道不是在"浪费"质疑吗?(我主要关心性能)
谢谢,Danny
函数本身的原因是性能。。findByPk
表示如果找到,则将模型加载到变量中,exixts
表示如果找到则进行检查。。想象一下,在这种情况下,你只需要找出给定条件下是否存在记录,然后为什么要将整个模型实例加载到一个变量中,然后检查它是否为null,而不是直接使用布尔值。。
如果你需要模型实例,如果它存在,那么如果ofc没有用处,那么正如你所说的,直接使用findByPk
。。