joomla 3 - Хранить данные в разных таблицах

В данный момент я изучаю Joomla-разработку и пытаюсь настроить небольшой компонент.

В бэкенде есть форма, состоящая из 2-х полей. Поле 1 должно быть сохранено в таблице 1 - Поле 2 должно быть сохранено в таблице 2.

Поле 1 — это текстовое поле, которое должно быть сохранено в таблице #__mycomponent_table1, поле 2 — это текстовое поле, которое должно быть сохранено в таблице #__mycomponent_table_2.

В таблице 1 уже есть перезаписанный метод store(). Как сохранить данные поля в другую таблицу?

Заранее спасибо :)


person user3755325    schedule 21.07.2014    source источник


Ответы (2)


Я решил это, перезаписав метод сохранения в модели. Вы можете вызвать вторую таблицу и сохранить данные после ее привязки.

person user3755325    schedule 23.07.2014
comment
Принятый здесь ответ показывает, как это сделать: stackoverflow.com/questions/14738809/ - person Dennis Heiden; 20.08.2016

Вам нужно будет переопределить метод сохранения в контроллере — в этом методе вам нужно будет вручную сохранить данные в базу данных.

Редактировать:

В файле шаблона добавьте:

<?php echo JHtml::_('form.token'); ?>
<input type="hidden" name="option" value="com_yourcomponent" />
<input type="hidden" name="task" value="yourview.submit" />

Это гарантирует, что ваш веб-сайт вызывает функцию «отправить» в контроллере.

person itoctopus    schedule 21.07.2014
comment
Привет, спасибо за ответ :) в контроллере есть метод сохранения? Я думал этот метод есть в модели и его можно туда перезаписать? - person user3755325; 21.07.2014
comment
Привет и спасибо. Что ж, эта форма находится в бэкэнде, и я нажимаю кнопку «Сохранить» на панели инструментов. Должен ли я также редактировать файл шаблона? - person user3755325; 21.07.2014