Поиск по БД

Делаю поиск по БД запросов и для поиска задаю сразу несколько параметров, таких как id владельца и статус айтемов. Запрос и айтемы имеют связь один ко многим, запрос и владелец - один к одному. Результат почему-то некорретно учитывает статус айтемов. Пробовал искать непосредственно только по статусу айтема, но и по параметру status_in. Задача - найти все запросы по id владельца и статусу айтемов (если хоть один айтем имеет указанный статус, то запрос должен попасть в результат).
Безымянный
Создается такое впечатление, что поиск не учитывает поиск по статусу айтемов, так как резуотат всегда одинаковый в независимости от того указан ли статус айтемов или нет.

Если я правильно понимаю, то используется модель со связями.
И поиск настроен таким образом, что ищется одна модель, а параметры поиска указаны для связанной.
В таком случае стандартный поиск через блок search работает таким образом, что выдает все элементы своей основной модели, а уже потом в ее связях снова ищет (или вернее фильтрует) по параметрам связанной.
Соответственно меняется лишь состав связанных моделей в _with. Но результат поиска основной модели будет одинаковым.
Чтобы это работало нужно либо усложнять логику и дополнительными блоками обрабатывать найденный результат, либо использовать SQL-запросы (что будет правильнее и эффективнее).

Спасибо за ответ! Очень полезная информация по поиску, я думал, что это работает немного не так. Может есть пример SQL запроса для такого варианта? У меня почему-то запрос обрабатывается, но ничего не возвращает(

Это мой вариант:
SELECT r.id, r.status
FROM public.request r
JOIN public.request_item ri ON r.id = ri.request_id
WHERE (r.status = <заданный статус> OR <заданный статус> IS NULL OR <заданный статус> = ‘’)
AND (ri.status = <указанный статус для request.item> OR <указанный статус для request.item> IS NULL OR <указанный статус для request.item> = ‘’)
AND (r.request_owner = <заданный id request_owner> OR <заданный id request_owner> IS NULL OR <заданный id request_owner> = ‘’);

На глаз такие запросы очень трудно дебажить, нужно тестировать.
Но вообще тут главный вопрос - а точно ли запрос ничего не возвращает?
Это довольно сомнительно. Все-таки должен приходить либо результат, либо ошибка. Может просто результат неправильно десериализуется в модель или еще что? Хорошо бы логи на все выходные параметры блока SQL запроса проверить
Конечно, может и действительно не быть результата, так как условия поиска слишком жесткие и под них ничего не попадает, но тогда уже сам запрос нужно упрощать и смотреть на каком условии данные пропадают.

Вот пример одного запроса для поиска блоговых статей. У родительского элемента статьи есть связанна модель с разными языковыми версиями. Соответственно запрашиваются только те статьи (количеством 3), где данная языковая версия есть.

SELECT public.blog_post.cover, public.blog_post.publish_date, public.post_content.title, public.post_content.description, public.post_content.slug FROM public.blog_post INNER JOIN public.post_content ON public.blog_post.id = public.post_content.blog_post_id WHERE public.post_content.lang_iso2 = ‘en’ ORDER BY publish_date DESC LIMIT 3