TYPO3 自定义扩展在数据库中注册印象
TYPO3 custom extension register impressions in database
我写了一个扩展程序,它随机选择定义数量的图像 link(横幅)来显示。
我想计算它们显示的次数(展示次数)。也就是说,在选择随机函数后,我想将所选条目的数据库字段 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
增加 1 ...
基本上,您应该仅在控制器中而不是在存储库中对域对象执行操作 - ORM 层只是 OOP 域模型世界与数据库之间的连接。
例如在WhateverController
中...
...
/** @var Whatever[] $items */
$items = $this->whateverRepository->findPartnerList();
foreach ($items as $item) {
$item->setImpressions($item->getImpressions() + 1);
$this->whateverRepository->update($item);
}
...
我写了一个扩展程序,它随机选择定义数量的图像 link(横幅)来显示。
我想计算它们显示的次数(展示次数)。也就是说,在选择随机函数后,我想将所选条目的数据库字段 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
增加 1 ...
基本上,您应该仅在控制器中而不是在存储库中对域对象执行操作 - ORM 层只是 OOP 域模型世界与数据库之间的连接。
例如在WhateverController
中...
...
/** @var Whatever[] $items */
$items = $this->whateverRepository->findPartnerList();
foreach ($items as $item) {
$item->setImpressions($item->getImpressions() + 1);
$this->whateverRepository->update($item);
}
...