Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 Extbase 6.2中调度程序任务的更新_Typo3_Extbase_Typo3 6.2.x_Typo3 7.x - Fatal编程技术网

Typo3 Extbase 6.2中调度程序任务的更新

Typo3 Extbase 6.2中调度程序任务的更新,typo3,extbase,typo3-6.2.x,typo3-7.x,Typo3,Extbase,Typo3 6.2.x,Typo3 7.x,我是Extbase新手,我的思维方式仍然是数据库驱动的。我已经创建了一个扩展并添加了一个调度程序任务。现在我想使用调度程序任务来更新关系 记录在\Vendor\Extension\Domain\Repository\OriginalRepository中具有UID 1 我想将idendify设置为\Vendor\Extension\Domain\Model\Identify 我已经做的是,我创建了新的标识对象,如下所示: $objectManager = \TYPO3\CMS\Core\Util

我是Extbase新手,我的思维方式仍然是数据库驱动的。我已经创建了一个扩展并添加了一个调度程序任务。现在我想使用调度程序任务来更新关系

记录在\Vendor\Extension\Domain\Repository\OriginalRepository中具有UID 1 我想将idendify设置为\Vendor\Extension\Domain\Model\Identify

我已经做的是,我创建了新的标识对象,如下所示:

$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$repository = $objectManager->get('Vendor\\Extension\\Domain\\Repository\\IdentifyRepository');

$new = new \Vendor\Extension\Domain\Model\Identify;
$new->setName('test');

$repository->add($new);
但现在如何将其添加到\Vendor\Extension\Domain\Repository\OriginalRepository


非常感谢您的帮助。

如果您使用用于实现计划程序任务的,则可以使用依赖项注入。使初始化东西更容易。另外,您应该使用
ObjectManager::get()
创建一个新的
标识
-实例-这样调用生命周期方法。我不确定我是否正确理解了这个问题,但我想您可以创建一个
原始存储库的实例
,使用
findByUid()
来获取
原始
的实例,修改它,并使用
原始存储库
实例的
update()
方法保留更改。感谢您的回复。我曾经这样尝试过:$objectManager=\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\objectManager')$repository=$objectManager->get('Vendor\\Extension\\Domain\\repository\\OriginalRepository')$repository->findByUid($row['uid'])$存储库->设置标识($new)$存储库->更新($query);但是我得到了一个错误:存储库不支持“setIdentify”方法。嗯,我认为您应该阅读一些关于extbase背后的概念,域对象是什么,存储库的用途等等。您可能需要对
$repository->findByUid()
返回的结果调用
setIdentify()