Phalcon – Как сделать подзапрос SELECT IN с моделями Phalcon?

Мне нужно знать, как сделать, я делаю выбор подзапроса с моделями phalcon?

например, я хочу выбрать всех пользователей, которые просматривали меня, они хранятся в таблице UserView с идентификаторами столбцов «user», «user_from», «user_to» (сопоставлены пользовательской таблицей user_id либо user_from, либо user_to)

поэтому я хочу выбрать всех пользователей, у которых есть user_to, как и у текущего пользователя, и group by user_to make sure i only получить один записанный, я написал ниже функцию, чтобы сделать это, но есть фундаментальные две проблемы

1. Как выполнять подзапрос с использованием моделей phalcon

2. Является ли моя логика корректно применена на внутреннем интерфейсе БД (поскольку я не вижу реального выполненного запроса)

public function getUserWithViewedMe($limit=1000000){ return User::query() ->rightJoin("XYZ\Models\UsersView") ->andWhere(" XYZ\Models\UsersView.user_from IN :user_id: ", array('user_id' => $this->user->user_id) ) ->group('user_id') ->order("XYZ\Models\UsersView.id DESC ") ->limit($limit) ->execute(); } 

Это возвращает пустой набор …

Пока не удается смоделировать подзапросы в Phalcon. Существует также тема в соответствии со стандартными вопросами реализации.

Чтобы запросить параметры в соответствии с другой таблицей, вот ответ .

Чтобы запросить IN вы можете использовать queryBuilder

 $this->modelsManager->createBuilder() // ... ->inWhere('column', $array);