查询总是返回空,但数据存在。
我已尝试过这个方法:
$query = $this->createQuery();
$query->statement('SELECT * FROM `my_table`
WHERE field = ? ORDER BY date DESC LIMIT 1',
array($condition));
$results = $query->execute();
这个:
$query = $this->createQuery();
$query->matching($query->equals('field', $condition));
$query->setOrderings(array('date' => Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING));
$query->setLimit(1);
$results = $query->execute();
两者都返回null作为结果。
有可能获取该类创建的SQL以查找错误吗?
我已经查看了一些extbase持久类,但没有找到线索。
编辑: 对于那些感兴趣的人..我找到了一个“解决方案”。
如果您使用statement()方法创建查询,则可以使用此函数打印查询。
echo $query->getStatement()->getStatement();
它不会替换占位符。 但是您可以使用此方法获取变量。
var_dump($query->getStatement()->getBoundVariables());
这是我找到的最佳解决方案,而不需要编辑extbase扩展。