我发现自己经常在我的存储库中做这样的事情:
protected $currencies;
public function findAll()
{
if (!isset($this->currencies))
{
$this->currencies = parent::findAll();
}
return $this->currencies;
}
所有需要实体对象集合的服务
只需在存储库中调用findAll
即可
无需多次启动数据库查询/水化过程。
是对还是我误用了存储库模式? 您在本地保存馆藏的方式是什么?
答案 0 :(得分:0)
如果你必须这样做,你可能会滥用你的控制器/服务。是否有某些原因,如果仅在请求期间存在,则需要在内存中缓存结果?即一旦页面加载,所有这一切都消失了。
只有在页面内多次使用相同的findAll结果时才有意义。这就是您需要修复的内容。