2

我有一个由调度程序运行的命令控制器(导入程序),它应该这样保存数据:

foreach ($items as $item){
  // store it
  $entry = $this->objectManager->get('STUBR\Importer\Domain\Model\Item');
  $entry->setTitle($item['Title']);
  $entry->setData(json_encode($item));
  // manually set the storage page (defined in scheduler form)
  $entry->setPid($itemStoragePid); // works
  // manually set the language (defined in scheduler form)
  // EDIT
  // $entry->setSysLanguageUid = -1; // had typo
  $entry->set_languageUid(-1); // works
  // END EDIT
  $this->itemRepository->add($entry);
}

虽然 pid 和 sys_language_uid 均未在模型中设置setPid,但其行为符合预期,但setSysLanguageUid没有。

我知道 extbase ( https://forge.typo3.org/issues/45873 ) 中的 setSysLanguageUid() 有什么不对或不对,尽管我无法完全理解这个问题。

如何手动存储到 sys_language_uid 列?

PS:我试过Extbase 模型:setSysLanguageUid 不工作,但可能我错过了一些东西

4

1 回答 1

2

解决了,上面写错了

来自@Chi 的解决方案,位于https://stackoverflow.com/a/33798615/160968

/**
 * languageUid
 * @var int
 */
protected $languageUid;

/**
 * @param int $languageUid
 * @return void
 */
public function setLanguageUid($languageUid) {
    $this->languageUid = $languageUid;
}

/**
 * @return int
 */
public function getLanguageUid() {
    return $this->languageUid;
}

接着$entry->setLanguageUid(-1);

于 2016-06-08T15:31:00.100 回答