3

我无法FindBy在 Extbase MVC 中运行魔术函数属性

    $title=array(0 =>'Books Day');

    $each_event=$this->eventRepository->findByTitle($title);

$each_event正在返回一个类型的对象TYPO3\CMS\Extbase\Persistence\Generic\QueryResult

我该如何进行这项工作?

我还尝试将字符串传递给findByTitleand findByOne。两者都不起作用!:(

我正在使用 TYPO3 6.1 和扩展生成器。

4

3 回答 3

3

这些魔术函数的最后一部分总是需要是数据库中的一个字段。所以“标题”必须在你的模型中。您的对象可能有一个字段“one”,但我猜您的意思是 findOneByTitle?

对象类型 QueryResult 是正确的。您可以将其转换为用于调试目的的数组,例如:

$foo = $query->execute()->toArray();

顺便说一句:检查你的 eventRepository 是否为空,你可以试试这个看看它是否有效:

$result = $this->myRepository->findAll();
于 2013-06-05T06:57:38.087 回答
0

尝试

$each_event=$this->eventRepository->findByTitle($title)->toArray();

对QueryResult的引用。

于 2013-06-05T10:41:23.740 回答
0

文档中所述,它返回一个QueryResultInterface|array.

因此,您必须像这样遍历结果:

foreach($each_event as $single_event) {
    $single_event->getProperty();
}

如果您确定它只返回一个值,您也可以通过索引访问它0

$each_event[0]->getProperty();
于 2019-04-03T13:40:31.667 回答