我目前正在开发一个TYPO3扩展,我有两个独立阵列工作:一个包含有关产品(文本信息自行车),第二个包含相应的图像(bikesimages)。在前端模板中,我使用 for 循环遍历产品。
我的问题:如何使用 for 循环的迭代器 ( bikeIterator ) 访问第二个数组的相同索引?
<f:for each="{bikes}" as="bike" iteration="bikeIterator">
<div class="teaser-image"><f:image src="{bikesimages.{bikeIterator}}" alt="{bike.manufacturer} {bike.type}" /></div>
Run Code Online (Sandbox Code Playgroud)
这不起作用。如何正确使用迭代器?
我需要通过我的 TYPO3 扩展的存储库清除 (TRUNCATE) 数据库表。我已经有各种有效的 SELECT 查询。它们看起来像这样:
public function getUsergroups() {
$query = $this->createQuery();
$query->getQuerySettings()->setReturnRawQueryResult(TRUE);
$query->statement('SELECT * FROM fe_groups WHERE hidden=0 AND deleted=0');
$result = $query->execute();
return $result;
}
Run Code Online (Sandbox Code Playgroud)
这有效。
然后是清除数据库表的功能,看起来是这样的:
public function updateProductPermissions($submitArray) {
$query = $this->createQuery();
$query->getQuerySettings()->setReturnRawQueryResult(TRUE);
$query->statement('TRUNCATE TABLE tx_chiliproducts_domain_model_permission')->execute();
return true;
}
Run Code Online (Sandbox Code Playgroud)
执行此函数时,出现以下错误:
致命错误:在第 1029 行的 /srv/globalroot/typo3_src-6.1.1/typo3/sysext/core/Classes/Database/DatabaseConnection.php 中的非对象上调用成员函数 fetch_assoc()
执行 SELECT 和执行 TRUNCATE 语句有什么区别?为什么一种有效而另一种无效?