我试图缓存数据库调用以进行Yii2存在验证,但无法确定启动它的位置。
因为我使用的是具有很多关系的多模型表单,所以开销有点过多。
有什么想法吗?
答案 0 :(得分:1)
This is not supported by Yii, you either have to :
ExistValidator
and implement your caching logic there ActiveQuery
class to your model in question and override
the exists()
and count()
methods答案 1 :(得分:1)
您最好不要。实际上,在an issue on Yii2 official Github project中,框架的核心开发人员之一Alexander Makarov aka @samdark解释了为什么缓存ExistValidator
是一个坏主意:
现有验证不是要缓存的验证类型。第二个数据库可能会更改其状态,因此应在保存之前对其进行验证。