как вставить sys_categories с помощью extbase - PullRequest
0 голосов
/ 22 марта 2020

в расширении extbase я использую sys_category. В действиях со списком проблем нет, все категории работают как положено. Но я хочу написать записи категории с пользовательским финишером базы данных из tx_form.

В модели все выглядит правильно:

/**
 * Sets the categories
 *
 * @param  \TYPO3\CMS\Extbase\Persistence\ObjectStorage $categories
 * @return void
 */
public function setCategories($categories)
{
    $this->categories = $categories;
}

в моем финишере:

$newAddress->setCategories($newCat);
$this->addressRepository->add($newAddress);

Форма дает мне только идентификатор категории, но для "setCategories" мне нужно \ TYPO3 \ CMS \ Extbase \ Persistence \ ObjectStorage.

Как получить \ TYPO3 \ CMS \ Extbase \ Persistence \ ObjectStorage из uid категории?

Спасибо!

1 Ответ

1 голос
/ 22 марта 2020

Вам нужен метод установки для таких категорий, как эта:

public function addCategory($category)
{
    $this->categories->attach($category);
}

Этот метод добавит одну модель в хранилище вашего объекта.

Поскольку вам нужно добавить модель категории, Вам необходимо получить соответствующую модель uid с $categoryRepository->findByUid($uid);

...