Кеш объектов внутри ActiveRecord
Кеш объектов внутри ActiveRecord
Хотелось бы узнать для спортивного интереса. Возможно ли как-то в Yii2, чтобы AR работала через кеш объектов? Имеется ввиду, что допустим я загружаю Item, дальше в другой части приложения (в том же запросе) мне приходится еще раз дергать через AR связи тот же самый item, хотелось бы чтобы он на данный запрос был бы тем же объектом. То есть Item::findOne() возвращал тот же объект. Есть какая-то реализация в самом AR или какое-то расширение?
Re: Кеш объектов внутри ActiveRecord
RTFM
или
Но если ты хочешь использовать один и тот же объект, тогда тебе подойдет композиция
Код: Выделить всё
$result = Item::getDb()->cache(function ($db) {
return Item::find()->where(['id' => 1])->one();
});
Код: Выделить всё
Item::find()->cache(7200)->all();