TYPO3 - 带有自定义查询的调度任务

TYPO3 - Scheduler task with custom query

我正在使用 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 ... ') 这样的方法?

是的,这绝对有可能。

这是完整的函数:

/**
 * 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 ... ')