从 TYPO3 DB 包装器到学说。选择语句

我必须使用 QueryBuilder 将一些代码从 TYPO3 DB 包装器迁移到 Doctrine。在我的数据库中有四个条目。


原声明:


        $statementToMigrate = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(

            'job_id,uid,pid,hash',

            'tx_test',

            'deleted = 0',

            null,

            null,

            null,

            'job_id'

        );

我的 QueryBuilder 版本:


        $table = 'tx_test';

        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)

            ->getQueryBuilderForTable($table);


        $sql = $queryBuilder

            ->select(

                "job_id,uid,pid,hash"

            )

            ->from($table)

            ->where(

                $queryBuilder->expr()->eq('deleted', 0)

            )

            ->execute()

            ->fetchAll();

原始声明为我提供了所有四个条目。新版本只有两个。差异在哪里?以及如何在学说中设置“ $uidIndexField=''”?


解决方案:我添加了


            $queryBuilder

            ->getRestrictions()

            ->removeByType(StartTimeRestriction::class)

            ->removeByType(EndTimeRestriction::class);

现在它起作用了


繁华开满天机
浏览 116回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP