TYPO3如何从存储库的sys_file获取自定义字段

时间:2019-04-16 06:08:11

标签: search typo3 typo3-8.x typo3-extensions filereference

解决this之后,我遇到了另一个问题。我试图获取包含文本的字段,但是找不到找到它的方法。因此,在我的存储库中,我有一个名为my_database-# \d List of relations Schema | Name | Type | Owner --------+---------------------------------------------+----------+------- public | auth_group | table | my_user public | auth_group_id_seq | sequence | my_user public | auth_group_permissions | table | my_user public | auth_group_permissions_id_seq | sequence | my_user 的函数,包含文本搜索的部分如下所示:

getSearchResults($searchParameter)

所以downloads字段的目标是sys_file_reference表,然后我想从sys_file表中获取text_pdf。

使用该代码,我得到以下错误消息:

$subjectParameter = $searchParameter[0]['subject']; $subjectConstrains = array(); $subjectConstrains[] = $query->logicalOr( [ $query->like('title', '%' . $subjectParameter . '%'), $query->like('subtitle', '%' . $subjectParameter . '%'), $query->like('downloads.uidLocal.textPdf','%' . $subjectParameter . '%') ] ); $constrains[] = $query->logicalOr($subjectConstrains);

我去了#1353170925: The relation information for property "uidLocal" of class "TYPO3\CMS\Extbase\Domain\Model\FileReference" is missing.,看到了:

typo3/sysext/extbase/Classes/Domain/Model/FileReference.php

据我了解,这直接针对sys_file的uid字段,这意味着我实际上无法获取text_pdf字段,因为它已经从该表中选择了一个字段。

我之所以这样说是因为,如果我从like字段中删除public function getOriginalResource() { if ($this->originalResource === null) { $this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($this->getUid()); } return $this->originalResource; } ,我不会得到任何错误,这意味着它找到了文件,但没有找到我想要的字段。

其他: 我想我将不得不为text_pdf设置getters和setters,但是我不知道在哪里做。我的第一个猜测是在TCA / Overrides上,但我不确定。

预先感谢

0 个答案:

没有答案