Cakephp 3.5 查询 - 过滤具有相同标题的条目
Cakephp 3.5 query - Filter entries with same title
我正在为我正在处理的项目使用 CakePhp 3.5。我的问题是关于构建查询。我有一个不断增长的数据库,其中包含 id
、title
、content
、user_id
和一些在这种情况下并不是真正有趣的字段。
该软件是关于事件管理的,因此具有相同标题的条目可以(并且可能)在每个字段中都是相同的,但在日期或时间等方面则不同。但在这种情况下我唯一担心的是标题。
我正在做一个自动完成功能,让用户可以通过 Ajax 使用以前输入的数据填写添加表单。
所以当用户输入标题时,我正在搜索具有相似标题的较旧条目。
因为加倍标题是完全可以的,所以我得到了很多应该的结果。但我只需要为每个唯一标题获得一个结果,即如果有 5 个标题为“Party”的条目,我只想获得其中的 1 个。
但是,如果还有标题为“麦当劳派对”和“派对巴士计划”的活动,我想获得一个列表:
- "Party"
- "Party at McDonalds"
- "Partybus planning"
每个相关标题显示一个条目。
不同的内容不打扰我。如果我的用户为不同的内容设置相同的标题,那是他们自己的问题。他们必须学习如何使用标题才能使用该软件。
我正在寻找某种条件或选择器,它告诉蛋糕对于每个相同的标题只获取一个条目。在 php 中执行此操作会导致长期 运行 上的软件泄漏,这是计划用于此项目的。
我当前的查询如下所示:
$events_query = $this->Events
->find()
->where([
'title LIKE' => '%' . $this->request->data('title') . '%'
])
->andwhere([
'user_id' => $this->Auth->user('id')
]);
有人能解决我的问题吗?我有点卡住了,所以也许有人可以指出我正确的方向。
提前致谢!
您需要group
标题加上query-builder
的group()-函数
看这里:https://book.cakephp.org/3.0/en/orm/query-builder.html#aggregates-group-and-having
我正在为我正在处理的项目使用 CakePhp 3.5。我的问题是关于构建查询。我有一个不断增长的数据库,其中包含 id
、title
、content
、user_id
和一些在这种情况下并不是真正有趣的字段。
该软件是关于事件管理的,因此具有相同标题的条目可以(并且可能)在每个字段中都是相同的,但在日期或时间等方面则不同。但在这种情况下我唯一担心的是标题。
我正在做一个自动完成功能,让用户可以通过 Ajax 使用以前输入的数据填写添加表单。
所以当用户输入标题时,我正在搜索具有相似标题的较旧条目。
因为加倍标题是完全可以的,所以我得到了很多应该的结果。但我只需要为每个唯一标题获得一个结果,即如果有 5 个标题为“Party”的条目,我只想获得其中的 1 个。 但是,如果还有标题为“麦当劳派对”和“派对巴士计划”的活动,我想获得一个列表:
- "Party"
- "Party at McDonalds"
- "Partybus planning"
每个相关标题显示一个条目。
不同的内容不打扰我。如果我的用户为不同的内容设置相同的标题,那是他们自己的问题。他们必须学习如何使用标题才能使用该软件。
我正在寻找某种条件或选择器,它告诉蛋糕对于每个相同的标题只获取一个条目。在 php 中执行此操作会导致长期 运行 上的软件泄漏,这是计划用于此项目的。
我当前的查询如下所示:
$events_query = $this->Events
->find()
->where([
'title LIKE' => '%' . $this->request->data('title') . '%'
])
->andwhere([
'user_id' => $this->Auth->user('id')
]);
有人能解决我的问题吗?我有点卡住了,所以也许有人可以指出我正确的方向。
提前致谢!
您需要group
标题加上query-builder
看这里:https://book.cakephp.org/3.0/en/orm/query-builder.html#aggregates-group-and-having