0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 851 Просмотров
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
У меня контроллере есть 2 функции, в одной я получаю массив данных из базы, во второй мне необходимо использовать полученный массив, как это можно реализовать?

пробовал в контроллере в функции 1 полученный массив закидывать в модель:
Код
$results = array(1, 2, 3);
$model = $this->getModel('content_calcs');
if($data_id == 'select_1'){ $model->setState('select1', $results); }

Добавляется, потом могу посмотреть в пределах этой функции что у меня в массиве:
Код
$model->getState('select1');

но в соседней функции я никак это не могу сделать, как быть?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
А чем плохо создать публичное или защищенное свойство в контроллере и туда сохранять?

А вобще мне думается что вы просто каждый раз новый экземпляр модели получаете с отдельным состянием.Возможно вам нужно сохранить модель через setModel() метод.

Хотя нет, посмотрел, нету вроде такой возможности у контроллера. Каждый раз вы новый экземпляр модели инициализируете вызовом метода getModel(), если только своими методами ее сохранять.
« Последнее редактирование: 26.11.2014, 22:54:20 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
я пробовал в контроллере писать
Код
var $select1 = null;
потом в функции переопределять её
Код
$this->select1 = array(1,2,3);
но все равно, когда мне в другой функции необходимо получить массив из $this->select1, то он пустой
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
все равно, когда мне в другой функции необходимо получить массив из $this->select1, то он пустой

Ну видимо этот метод вызывается до того как свойству присваивается значение. Не знаю какие вы ставите задачи, но возможно вам нужно инициализировать свойство в конструкторе? Тогда оно будет доступно во всех методах в любое время..

Цитировать
var $select1 = null;

так объявляли свойства у классов в прошлом веке))
« Последнее редактирование: 26.11.2014, 23:06:09 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Цитировать
так объявляли свойства у классов в прошлом веке))
та уже как не оъявлял и public'ом и privat'ом :)
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Может можно как то это сделать через JFactory ? только я не знаю как
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
вот если через public определяю - потом в функции не переопределяется почему то.. вернее переопределяется только внутри функции в которой переопределяю) но в соседней функции как было объявлено изначально, так и есть
*

passer

  • Завсегдатай
  • 1009
  • 74 / 3
Вам же сказали определите в конструкторе, тогда будет доступно в любом методе.
*

piraids

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
на сколько я понял в конструкторе это в моделе в функции: __construct()?
*

passer

  • Завсегдатай
  • 1009
  • 74 / 3
Так в каком классе нужен в том и определяйте. Если в классе модели значит в модели, если в классе контроллера значит в контроллере, если в классе вида значит в виде. П.ц. похоже разговор ни о чем. http://php.net
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Работа с внешний БД

Автор lostov

Ответов: 1
Просмотров: 98
Последний ответ 12.03.2020, 11:11:34
от robert
Как использовать функции компонента в модуле?

Автор specialist-web

Ответов: 6
Просмотров: 261
Последний ответ 12.05.2019, 12:26:10
от AlekVolsk
Работа с базой данных

Автор SnowWind

Ответов: 9
Просмотров: 2250
Последний ответ 19.09.2014, 12:18:56
от Stasweb
[Решено] Сохранить файл на удаленном ПК и прочитать 

Автор AlekVolsk

Ответов: 18
Просмотров: 844
Последний ответ 03.04.2014, 13:55:16
от AlekVolsk
Передать массив данных между двумя представлениями

Автор redline16

Ответов: 1
Просмотров: 619
Последний ответ 19.09.2013, 15:38:16
от Fedor Vlasenko