У меня есть командный контроллер (импортер), запускаемый планировщиком, который должен сохранять данные как таковые:
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
— нет.
Я знаю, что что-то не так с setSysLanguageUid() в extbase (https://forge.typo3.org/issues/45873), хотя я не смог полностью понять проблему.
Как вручную сохранить в столбце sys_language_uid?
PS: я пробовал модель Extbase: setSysLanguageUid не работает, но, вероятно, я пропустил что-нибудь