Имам два обекта в моя модел, A
и B
. A
има отношение към много към B
, а обратното му е отношение към едно към A
. Бих искал да извлека резултати от обект B
с помощта на A
, както следва:
- Изпълнете заявка за извличане на обект
A
с някакъв предикат. - В резултатите, върнати от тази заявка, направете разбивка до всички свързани
B
s и тези филтрирайте чрез втори предикат. - Връща всички валидни резултати на обект
B
.
Разбира се, мога да направя (1) и след това да филтрирам масив от B
s, като използвам втория предикат. Въпреки това знам, че това е неоптимално.
Как мога да направя това най-ефективно, дори с едно извличане и предикат?