簡體   English   中英

Typo3-通過計划的命令執行bulkInsert-代碼應位於何處?

[英]Typo3 - bulkInsert from a scheduled command - where should the code reside?

我已經使用Extension Builder創建了一個擴展。 這樣就創建了必要的表以及存儲庫和控制器文件。

我創建了一個命令類,該類具有每天調用一次的方法(通過調度程序擴展)。 該命令的目的是截斷表並將數據替換為新行的大容量插入。

我找到了bulkInsert的示例代碼,但是我不確定應該放在哪里?

我最初認為將其放入Controller是合理的解決方案,但也許有更好的放置方法了? 還是運行批量插入的更好方法?

批量插入需要我提供表名,即“ testTable”是表名,我可以像這樣建立連接:

$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('testTable');

...但是像這樣連接到表名感覺不對,因為擴展的其余部分利用了存儲庫。 感覺有點脫節。

任何人都可以給我有關如何在何處以及如何執行此操作的任何指導,以使我的源代碼更加美觀和緊湊。

解決方案是創建一個單獨的表連接實例,如下所示:

$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable($tblname);

然后利用“ bulkInsert”工具,再次傳遞表名,記錄數組和關聯的字段名數組

$connection->bulkInsert($tblname, $records, $fieldnames);

可以直接通過存儲庫直接使用bulkInsert很好,但是我敢肯定有一些邏輯原因無法實現。 但是無論如何,這種解決方案都行之有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM