【发布时间】:2018-03-06 17:15:50
【问题描述】:
我正在将 CakePhp 3.5 用于我正在进行的项目。我的问题是关于构建查询。我有一个不断增长的数据库,其中包含id、title、content、user_id 和一些,在这种情况下并不是真正有趣的领域。
该软件是关于事件管理的,因此具有相同标题的条目可以(并且可能会)在每个字段中都相同,但在日期或时间方面却不同。但在这种情况下,我唯一关心的是标题。
我正在做一个自动完成功能,为用户提供通过 Ajax 使用以前输入的数据填写添加表单的可能性。
所以当用户输入标题时,我正在搜索具有相似标题的旧条目。
由于标题翻倍完全没问题,我得到了应有的结果。但我只需要为每个唯一标题获得一个结果,即如果有 5 个标题为“Party”的条目,我只想获得其中 1 个。 但如果还有标题为“Party at McDonalds”和“Partybus planning”的活动,我想获得一份清单:
- “聚会”
- “麦当劳派对”
- 《Partybus 规划》
每个相关标题都显示一个条目。
不同的内容不会打扰我。如果我的用户为不同的内容设置相同的标题,那是他们自己的问题。他们必须学习如何使用标题才能使用该软件。
我正在寻找某种条件或选择器,它告诉 cake 只获取每个相同标题的一个条目。从长远来看,在 php 中这样做会导致软件泄漏,这是本项目计划的。
我当前的查询如下所示:
$events_query = $this->Events
->find()
->where([
'title LIKE' => '%' . $this->request->data('title') . '%'
])
->andwhere([
'user_id' => $this->Auth->user('id')
]);
有人可以解决我的问题吗?我有点卡住了,所以也许有人可以指出我正确的方向。
提前致谢!
【问题讨论】:
标签: php sql cakephp cakephp-3.x