gpt4 book ai didi

extbase - 复制 extbase 存储库对象

转载 作者:行者123 更新时间:2023-12-02 17:11:24 27 4
gpt4 key购买 nike

在我的 extbase/fluid 项目中,除了创建、删除、列表等标准操作之外,我还想创建存储在存储库中的模型类对象的副本。使用 findall(),所有对象都显示在列表中,并且相应的操作(例如删除、编辑)显示在每个对象旁边。为了复制对象,我在相应的 Controller 中创建了一个重复操作,代码如下:

public function dupcliateAction(Tx_CcCompanylogin_Domain_Model_MyObject $testObject)
{
$this->myObjectRepository->add($testObject);
$this->redirect('list');//Lists the objects again from the repository
}

似乎足够简单,但没有新对象添加到存储库中,并且我没有收到错误。我已经检查了文档,并且没有可用于复制的显式方法。

最佳答案

对于那些可能关心的人:

此时您不需要调用reflection-api。您只需要实现一个名为例如的方法在你的模型中resetUid()像这样:

public function resetUid() {
$this->uid = NULL;
$this->_setClone(FALSE);
}

然后你可以使用神奇的clone方法来克隆 Controller 中的对象。之后,您必须调用新的 resetUid() 方法,然后您就可以保留具有旧属性的新对象。

关于extbase - 复制 extbase 存储库对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463251/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com