Я озадачен этим.У меня есть таблица с различными полями: $employees
.Я полагаю, это то, что вы называете коллекцией. Я думаю, что при вызове возвращает все записи сотрудников в базе данных (в данном примере 4 записи)
Каждая запись сотрудника имеет следующие поля first_name
, last_name
, age
, other_id
Есть еще одна таблица (или коллекция), которую я называю таблицей фильтров.Это называется $other_ids
.Это имеет две записи со следующими полями - id
, id_name
.
Я хочу иметь возможность фильтровать таблицу $employees
так, чтобы она только сохраняла записи, где other_id
равнок одному из двух значений id
в таблице фильтров - $other_ids
Так, например, если таблица фильтров имеет следующие две записи:
[{"id":1 "id_name":"one"}, {"id":2, "id_name":"two"}]
И $Таблица employee содержит записи:
[{"first_name":"ted", "surname_name":"stark", "age":35, "other_id":1},
{"first_name":"fred", "surname_name":"strange", "age":30, "other_id":2},
{"first_name":"incredible", "surname_name":"hulk", "age":25, "other_id":3},
{"first_name":"captain", "surname_name":"stone", "age":28, "other_id":2}]
После фильтрации она должна вернуть $employees_filtered
Должны быть только записи 1, 2 и 4
I 'мы пытались сделать left-join
и использовать whereHas
и операторы where, но ничего не работает!