xsacha
Только чтение
- Сообщения
- 1,262
- Реакции
- 1,384
- Баллы
- 8,450
Подскажите пожалуйста как можно сделать ассоциацию загруженных вложений с созданным контентом, вложения загружаются в менеджер вложений, но при удалении записи не удаляются оттуда. Вот фрагмент моего контроллера
Возможно знающие люди подскажут что я упустил.
PHP:
public function steamAddEdit(\Hal\Steam\Entity\Steam $book) {
$bookAttachData = $this->repository('XF:Attachment')->getEditorData('book_version', $book);
$viewParams = [
'book' => $book,
'bookAttachData' => $bookAttachData
];
return $this->view('Hal\Steam:Steam\Edit', 'book_version_edit', $viewParams);
}
public function actionEdit(ParameterBag $params) {
$book = $this->assertSteamExists($params['book_version_id']);
return $this->SteamAddEdit($book);
}
public function actionAdd() {
$book = $this->em()->create('Hal\Steam:Steam');
return $this->SteamAddEdit($book);
}
protected function steamSaveProcess(\Hal\Steam\Entity\Steam $book) {
$form = $this->formAction();
$input = $this->filter([
'version_string' => 'str',
'changelog' => 'array-str',
'is_unsupported' => 'bool'
]);
$input['version_details'] = $this->plugin('XF:Editor')->fromInput('version_details');
$input['book_attach_hash'] = $this->filter('book_attach_hash', 'str');
$form->basicEntitySave($book, $input);
return $form;
}
public function actionSave(ParameterBag $params) {
$this->assertPostOnly();
if ($params['book_version_id']) {
$book = $this->assertSteamExists($params['book_version_id']);
$inserter = $this->service('Hal\Steam:Steam\Preparer');
$inserter->associateAttachmentsWithContent($this->filter('book_attach_hash'), 'book_version', $book->book_version_id);
} else {
$book = $this->em()->create('Hal\Steam:Steam');
}
$this->steamSaveProcess($book)->run();
return $this->redirect($this->buildLink('steams'));
}