我无法在Extbase MVC中运行FindBy
魔术函数属性
$title=array(0 =>'Books Day');
$each_event=$this->eventRepository->findByTitle($title);
$each_event
正在返回TYPO3\CMS\Extbase\Persistence\Generic\QueryResult
类型的对象。
如何使这项工作?
我还尝试将字符串传递给findByTitle
和findByOne
。两个都不工作! :(
我正在使用TYPO3 6.1和扩展构建器。
答案 0 :(得分:1)
这些魔术函数的最后一部分总是需要是数据库中的一个字段。所以“标题”必须在你的模型中。你的对象可能有一个字段“one”,但我想你的意思是findOneByTitle?
对象类型QueryResult是正确的。您可以将其转换为数组以进行调试,例如:
$foo = $query->execute()->toArray();
顺便说一句:检查你的eventRepository是否为null,你可以试试看它是否有效:
$result = $this->myRepository->findAll();
答案 1 :(得分:0)
答案 2 :(得分:0)
如documentation中所述,它返回一个QueryResultInterface|array
。
因此,您必须像这样遍历结果:
foreach($each_event as $single_event) {
$single_event->getProperty();
}
如果您确定它仅返回一个值,则也可以通过索引0
来访问它:
$each_event[0]->getProperty();