Làm thế nào để sử dụng bộ đệm ActiveRecotd cho Yii 2? Tôi không tìm thấy bất kỳ ví dụ nào trong tài liệu chính thức. Trong Google, tôi đã tìm thấy 2 ví dụ, trước tiên là:Yii2 ActiveRecord cache
$db = self::getDb();
$object = $db->cache(function ($db) use($id) {
return self::findOne($id);
});
Nhưng nó không hoạt động cho Model
, tôi đã thử nghiệm với khung được cập nhật. Ví dụ khác là:
$data = \Yii::$app->cache->get('some_var_' . $id);
if ($data === false)
{
$data = self::findOne($id);
\Yii::$app->cache->set('some_var_' . $id, $data, 60);
}
Nó làm việc tốt, nhưng nó không ActiveRecord bộ nhớ đệm đó là dữ liệu bộ nhớ đệm, Vì vậy, chúng tôi vẫn chưa nhận được ActiveRecord bộ nhớ đệm trong Yii 2?
Trong Yii AR bạn có thể sử dụng: $ model-> getGroup() để lấy ActiveQuery hoặc $ model-> group để lấy đối tượng BillChangesGroup (Yii2 magic -> group == getGroup() -> một() trong ví dụ của bạn) . Trong giải pháp của bạn, bạn bỏ lỡ điều này. – BaBL86