【发布时间】:2023-03-18 01:45:02
【问题描述】:
我对此感到困惑。我有一个包含各种字段的表:
$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
我尝试过使用 left-join 和 whereHas 以及 where 子句,但没有任何效果!
【问题讨论】:
标签: mysql laravel eloquent laravel-query-builder