首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在TYPO3 Extbase查询中使用Concat

在TYPO3 Extbase查询中使用Concat
EN

Stack Overflow用户
提问于 2013-11-03 00:46:54
回答 1查看 1K关注 0票数 2

我面临着一个小小的挑战,我想知道解决方案可能是什么,因为我在文档中找不到答案。

下面是我当前的工作查询(部分):

代码语言:javascript
运行
复制
$constraints[] = $query->like('kategorie', '%'.$kategorie.'%');

我想做的是:

代码语言:javascript
运行
复制
$constraints[] = $query->like(CONCAT(',', kategorie, ','), '%,'.$kategorie.',%');

显然根本不起作用。* -)

每一个帮助都是徒劳无功的。希望有人知道正确的语法。TYPO3版本是最新的6.1版

太感谢了!

EN

回答 1

Stack Overflow用户

发布于 2013-11-03 20:51:58

首先,Extbase查询生成在6.0中没有变化,所以在4.x和6.x中也是一样的。

也许您误解了Extbase构建查询的方式。

代码语言:javascript
运行
复制
$query->like('property', '%value%');

当%值%包含在“属性”中时,将返回一个对象。必须在域模型中定义这样的属性。您只能查询域模型中有"getProperty“方法的属性。

查看您的代码,我认为您找到了一种方法来查询逗号分隔的值列表中的值?然后你就会用

代码语言:javascript
运行
复制
$query->in('kategorien', $kategorie);

编辑:

您的具体问题似乎是,您没有使用真正的关系分配"Kategorien“给您的实体。使用逗号分隔的列表来保存对另一个模型的引用。我们不鼓励您这样做,但在技术上是可能的,并在TYPO3核心中使用: FrontendUser模型有一个以相同方式工作的属性"usergroup“。

请看一下FrontendUser模型:https://git.typo3.org/Packages/TYPO3.CMS.git/blob/HEAD:/typo3/sysext/extbase/Classes/Domain/Model/FrontendUser.php

对Kategorien的注释必须是正确的,例如:

代码语言:javascript
运行
复制
/**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\My\Extension\Domain\Model\Kategorien>
*/
protected $kategorien;

还要确保getKategorien是正确的。

如果仍然存在问题,请记住,要使Extbase正确工作,TCA定义必须正常工作。

在我看来,最好的做法是使用TYPO3 6.0:6.0#Category中引入的类别API

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19748649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档