用于在逗号分隔字段中搜索的存储库查询

时间:2015-11-27 11:10:29

标签: repository typo3 extbase

我有一个MySQL表,我有一个存储库和一个模型。一列包含逗号分隔的数字,我需要检查我的一个或多个参数是否与逗号分隔的数字匹配。这是表格的样子

SELECT  to_char(effective_start_date, 'yyyymmdd') || to_char(assignment_id)
FROM (
  select effective_start_date,
         assignment_id,
         RANK() OVER ( ORDER BY effective_start_date DESC ) AS rnk
  from   apps.per_all_assignments_f
  where  position_id = 159841 
  and    assignment_type in ('E', 'C')
  and    primary_flag = 'Y'
  ORDER BY effective_start_date DESC
)
WHERE RNK = 1;

在我的存储库中,我有以下

| uid | groups | ...
|   1 |      2 | ...
|   2 |    1,2 | ...
|   3 |  3,1,2 | ...

这将仅匹配uid = 1的记录.TYPO3是否有这种搜索的解决方案,而无需从头开始编写SQL查询?

1 个答案:

答案 0 :(得分:0)

我认为你必须通过模型关系来管理它

假设您与GROUP模型(M:N)有USER模型关系,并且您有一个关系属性" group"在USER模型关系组模型中,您在用户存储库中查询将如下所示:

$query->matching(
            $query->in('group.uid', $groupArray)
        );

这将返回其组内$ groupArray

内的所有用户