Cakephp 3.5查询 - 筛选具有相同标题的条目

问题描述 投票:0回答:1

我正在使用CakePhp 3.5进行我正在进行的项目。我的问题是建立一个查询。我有一个不断增长的数据库与idtitlecontentuser_id和一些,在这种情况下不是真正有趣的领域。

该软件是关于事件管理的,因此具有相同标题的条目可以(并且可能将)在每个字段中相同但不在例如日期或时间。但我在这种情况下唯一关心的是头衔。

我正在做一个自动完成功能,为用户提供了通过Ajax用以前创建的条目中的数据填充添加表单的可能性。

所以我正在搜索用户输入标题,具有相似标题的旧条目。

由于加倍的头衔是完全可以的,我得到了一堆应有的结果。但是我只需要为每个唯一的标题获得一个结果,即如果有5个条目标题为“Party”,我只想获得其中的一个。但如果还有标题为“麦当劳派对”和“Partybus计划”的活动,我想获得一个列表:

  • “派对”
  • “麦当劳派对”
  • “Partybus规划”

其中显示了每个相关标题的一个条目。

不同的内容不会打扰我。如果我的用户为不同的内容设置相同的标题,那就是他们自己的问题。他们必须学习如何使用标题,以便可以使用该软件。

我正在寻找某种条件或选择器,它告诉蛋糕只能为每个相同的标题获取一个条目。在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
1个回答
0
投票

你需要group标题与group() - 查询生成器的功能

见这里:https://book.cakephp.org/3.0/en/orm/query-builder.html#aggregates-group-and-having

© www.soinside.com 2019 - 2024. All rights reserved.