【问题标题】:Change storage pid when programmatically persisting a model以编程方式持久化模型时更改存储 pid
【发布时间】:2013-02-15 00:36:07
【问题描述】:

我对 Extbase 很陌生,我正在尝试以编程方式持久化一个新模型。以下代码有效:

$testModel = $this->objectManager->create('Tx_MyExtension_Domain_Model_Test');
$testModel->setName('testing');
$this->TestRepository->add($testModel);
$this->persistenceManager->persistAll();

但是,我想更改它所在的存储文件夹(因此;更改记录在数据库中的 pid 字段)。我该怎么做?

【问题讨论】:

    标签: typo3 extbase


    【解决方案1】:

    您可以在扩展程序的打字稿设置中为特定模型的新条目设置默认存储 pid:

    plugin.tx_your_extension {
        persistence {
            classes {
                Tx_YourExtension_Domain_Model_YourModel.newRecordStoragePid = 74
            }
        }
    }
    

    现在所有新模型都保存在此位置。

    【讨论】:

    • 这行得通,谢谢!是否还有可能告诉持久性管理器使用哪个存储 pid(仅用于一种方法,不是一般情况下)?
    • 是的,您可以将“pid”列添加到您的模型并设置它,这是模型首先查看的。但是请把它放在一个新问题中。
    • 添加到@Merec 的评论:您可以在alt.mimi.kaktusteam.de/… 找到有关整个过程的更多信息
    • @Merec 你可以看看my question 并给出你的建议的完整答案...
    猜你喜欢
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 2018-02-08
    • 2020-07-06
    • 1970-01-01
    • 2015-02-16
    相关资源
    最近更新 更多