当我只调用我的typo3存储库 - >添加方法一次时,为什么有两条记录被添加到数据库?

时间:2014-03-12 18:07:01

标签: repository typo3

这是运行的代码,导致两个sentmessage对象被添加到表中:

        $sentmessage = null;
    //add entry into sent message table          Tx_BpsMessagecentre_Domain_Model_Sentmessage
    $sentmessage = $this->objectManager->create('Tx_BpsMessagecentre_Domain_Model_Sentmessage');
        //now just fill in the object 
    $sentmessage->setBpsmessageid($bPSMessage->getUid());
    $sentmessage->setBody($bPSMessage->getBody());
    $sentmessage->setSubject($bPSMessage->getSubject());
    $sentmessage->setCouponlist($bPSMessage->getCouponlist());
    $sentmessage->setHallname($bPSMessage->getHall()->getHall());
    $sentmessage->setHalladdress($bPSMessage->getHall()->getAddress());
    $sentmessage->setHallurl($bPSMessage->getHall()->getUrl());
    $sentmessage->setBanner($bPSMessage->getBanner());

    $this->sentmessageRepository->add($sentmessage);
        $this->objectManager->get('Tx_Extbase_Persistence_Manager')->persistAll();
    die; //if I take out this die and the persist call above I still get two records added

我正在使用带有extbase 1.3的typo3 v 4.5.32。 sentmessage对象是我必须手动创建的对象 - 即没有扩展构建器,因此在某个地方TCA中可能存在一些配置错误,但我不知道是什么原因造成的。

由于

PS:我的一段ext_localconf.php显示了我的一些插件

Tx_Extbase_Utility_Extension::configurePlugin(
    $_EXTKEY,
    'Bpsmonthly',
    array(
        'BPSMessage' => 'cronMonthlys'      
    ),
    // non-cacheable actions
    array(
        'BPSMessage' => 'create, update, delete',
    )

);

Tx_Extbase_Utility_Extension::configurePlugin(
    $_EXTKEY,
    'Bpsbirthdays',
    array(
        'BPSMessage' => 'cronBirthdays'         
    ),
    // non-cacheable actions
    array(
        'BPSMessage' => 'create, update, delete',
    )

);

Tx_Extbase_Utility_Extension::configurePlugin(
    $_EXTKEY,
    'BpsAnnuals',
    array(
        'BPSMessage' => 'cronAnnuals'       
    ),
    // non-cacheable actions
    array(
        'BPSMessage' => 'create, update, delete',
    )

);

3 个答案:

答案 0 :(得分:1)

好的,发现了这个错误,它实际上是由我的调试代码向网页吐出一些网址,浏览器解析了网址再次点击动作(可能是img标记中的网址)和繁荣。所以这个bug只在调试时存在。我喜欢编程。   有没有办法从stackoverflow中删除我最愚蠢的问题?

答案 1 :(得分:0)

很可能你的网站中有两个来自同一扩展名的插件 - 因此所有内容都会被处理两次。

答案 2 :(得分:0)

也许坚持你的更改需要花费很多时间(例如,> 30秒)。在这种情况下,我经历过,在某些情况下,浏览器会再次发布(!)查询,从而产生您所描述的内容。