Пользователь из группы

Найти пользователя в определенной группе

#1 4 марта 2021 в 11:35
Привет всем. В своей модели хочу получить строку пользователя из базы product который состоит в определенной группе.
Но что-то говорит мне чтоб делаю не правильно
  1.  
  2.  
  3. $this->joinUser('user_id', array('nickname'=>'user_nickname'));
  4. $this->filterGroups(array (5 , 6));
  5. $this->orderBy('cnt', 'asc');
  6. $data = $this->get('products');
  7.  
  8.  
Ругается на filterGroups. Подскажите как правильно построить запрос?
Спасибо.
#2 4 марта 2021 в 12:37
Метод filterGroups() работает с моделью компонента пользователей. Возможно, Вы пытаетесь применить его к другой модели, судя по последней строке кода.

Совет: сразу пишите, как именно ругается (текст ошибки), тогда ответы будут точнее.
#3 4 марта 2021 в 12:46
Так я и написал в своей модели хочу получить..

Говорит вызов неопределенного метода.

Uncaught Error: Call to undefined method modelVstat::filterGroups()

Как его определить не понятно. Получается в своей модели надо еще модель пользователя включить?
#4 4 марта 2021 в 12:56
Если Ваша модель наследуется от cmsModel, то в ней не будет метода filterGroups(). Он есть только в модели компонента пользователей.
В зависимости от Ваших целей, Вам нужно либо использовать модель пользователей $this->model_users->filterGroups() если надо получить пользователей.
Либо делать в своей модели аналог метода modelUsers->filterGroups() для получения чего-то другого (не просто пользователей), например, контента или продукта, связанного с пользователями определённых групп.
#5 4 марта 2021 в 13:04


Либо делать в своей модели аналог метода modelUsers->filterGroups()

WebMan
То есть штатными методами это никак не сделать?
#6 4 марта 2021 в 13:21
Штатный метод filterGroups() работает только с пользователями и их моделью modelUsers.
Теоретически можно попробовать наследовать свой метод от неё. Но использовать наследование от других компонентов — это не "по феншую", противоречит основным правилам ООП и чревато проблемами в будущем, я бы не рекомендовал так делать. Так что для нестандартной задачи лучше использовать своё решение — просто сделать в своей модели аналог метода filterGroups(). ИМХО.
#7 4 марта 2021 в 13:22

То есть штатными методами это никак не сделать?

Рачей
Отфильтруйте как сделано в методе filterGroups в модели users, что вы изобретаете то)
#8 4 марта 2021 в 13:22
Fuze, спасибо. Уже туда забрался смотреть
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.