我写了一个扩展程序,随机选择一定数量的图像并显示链接(横幅)。
我想计算他们显示的次数(展示次数)。也就是说,在随机函数选择之后,我想将所选条目的数据库字段impressions
增加一个。
这是域名存储库的相关部分:
public function findPartnerList($entryNumber = 6) {
$entries = $this->createQuery()->execute()->count();
$offset = mt_rand(0, max(0, ($entries - $entryNumber)));
... // code refers to a class that picks random
$result = $query->execute();
... // field:impressions should get increased by one for all uid's in $result
return $results;
}
$query->execute()
... impressions
增加一个...... 答案 0 :(得分:1)
基本上,您应该只对控制器中的域对象进行操作,而不是对存储库进行操作 - ORM层只是OOP域模型世界与数据库之间的连接。
例如在WhateverController
中......
...
/** @var Whatever[] $items */
$items = $this->whateverRepository->findPartnerList();
foreach ($items as $item) {
$item->setImpressions($item->getImpressions() + 1);
$this->whateverRepository->update($item);
}
...