我已经创建了一个包含'file'字段的“文档”模型,该字段是FileReference。现在我正在编写一个仓库查询函数,该函数检索所有包含特定字符串的文件名的文档(使用$query->like()实现)。但是我遇到了以下错误:
每当我禁用这个 $query->like 并调试接收到的“document”时,看起来关于字段“uidLocal”的关系信息是正确的,因为我收到了文件的名称。
现在我当然可以在查询后过滤文档名称,但这对任务的性能不利。有人知道我漏掉了什么,错误来自哪里吗?
提前感谢您的贡献想法, Falko
我正在使用一些更多的代码:
class FileReference extends \TYPO3\CMS\Extbase\Domain\Model\FileReference
{
/**
* @var \**\***\Domain\Model\File
*/
protected $uidLocal;
/**
* @param \**\***\Domain\Model\File $uidLocal
* @return void
*/
public function setUidLocal($uidLocal)
{
$this->uidLocal = $uidLocal;
}
/**
* @return \**\***\Domain\Model\File
*/
public function getUidLocal()
{
return $this->uidLocal;
}
}
仓库查询:
$query->matching(
$query->logicalAnd(
$query->greaterThanOrEqual('crdate', $from),
$query->contains('usergroups', $participant),
// TODO: Onderstaande check moet aan maar resulteerd in error..
$query->like('file.uidLocal.name', '%'.$filename.'_'.$type.'.%')
)
);
现在我当然可以在查询后过滤文档名称,但这对任务的性能不利。有人知道我漏掉了什么,错误来自哪里吗?
提前感谢您的贡献想法, Falko
query->like()
语句添加到你的问题中? - digijay