extbase - 来自存储库的 Extbase-DISTINCT 值
问题描述
从我的数据库中获取唯一的房间号。
我的表是 tx_example_domain_model_room,其中包含 startdatetime、enddatetime 和 roomKey 列。我想获取大于给定日期时间的 roomKey。当我查询时,结果返回所有大于给定日期时间的房间密钥,所有超过给定日期时间的房间密钥都会出现。但是,它并不明显。我想得到不同的房间。下面是我的代码:
List.html 列表
f:form.select options="{roomKeys}" optionLabelField="roomKey"
您能否让我知道如何获得不同的值。更多细节:Room 是一个模型,包含属性 roomKey、startdatetime 和 enddatatime。
控制器
$roomKey = $this->roomRepository->RoomKeyFetcher($enddatetime, $startdatetime); var_dump($roomKey); $unique_rooms = array_unique($roomKey); $this->view->assign('roomKeys', $unique_rooms);
存储库:
public function RoomKey($enddatetime, $startdatetime) {
$query = $this->createQuery();
$query->statement('SELECT * FROM tx_example_domain_model_room
WHERE startdatetime >= ? OR enddatetime <= ?',
[$enddatetime, $startdatetime]);
$results = $query->execute();
return $results;
}
解决方案
只需使用DISTINCT
关键字 onroomkey
就可以了。
$query->statement('SELECT DISTINCT roomKey FROM tx_example_domain_model_room
WHERE startdatetime >= ? OR enddatetime <= ?',
[$enddatetime, $startdatetime]);
推荐阅读
- python - 仅使用列表列表中的某些项目创建 dict
- laravel - 如何在 eloquent 的子查询函数中使用“Select()”
- prometheus - Grafana Prometheus“信息”指标
- python-3.x - 仅设置图形大小的宽度,没有高度(Python)
- c# - 从 ADLS Gen2 获取数据并将其绑定到 Angular UI 的有效方法是什么?
- python - 将列表值转换为布尔值
- swift - Swift 泛型类型
- aws-api-gateway - 尝试将消息发布到 SQS 时访问被拒绝错误
- reactjs - 更好的连续调度方法?
- java - 为什么进入全屏时在 JFrame 中设置首选尺寸会失败?