【问题标题】:TYPO3 - Scheduler task with custom queryTYPO3 - 带有自定义查询的计划任务
【发布时间】:2018-06-18 12:34:25
【问题描述】:
我正在使用 TYPO3 6.2。
我创建了一个自定义 Extbase 任务,以便每天自动执行。
<?php
namespace Myextension\Scheduler;
use TYPO3\CMS\Core\Utility\GeneralUtility;
class Task extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
public function execute()
{
// Custom MySQL query here
}
}
?>
我需要开发一个包含大量条件、数据和连接的复杂 mysql 查询:是否可以不使用 $GLOBALS['TYPO3_DB']->exec_SELECTquery 而是使用像 $GLOBALS['TYPO3_DB']->sql_query(' SELECT * FROM ... ') 这样的方法?
【问题讨论】:
标签:
typo3
extbase
typo3-6.2.x
【解决方案1】:
是的,这绝对是可能的。
这是完整的功能:
/**
* Executes query
* MySQLi query() wrapper function
* Beware: Use of this method should be avoided as it is experimentally supported by DBAL. You should consider
* using exec_SELECTquery() and similar methods instead.
*
* @param string $query Query to execute
* @return boolean|\mysqli_result|object MySQLi result object / DBAL object
*/
public function sql_query($query) {
$res = $this->query($query);
if ($this->debugOutput) {
$this->debug('sql_query', $query);
}
return $res;
}
你在文件中找到它:
typo3/sysext/core/Classes/Database/DatabaseConnection.php
你可以像你写的那样称呼它:
$GLOBALS['TYPO3_DB']->sql_query(' SELECT * FROM ... ')