首页 > 解决方案 > Laravel MongoDB 在列中搜索数组值

问题描述

我正在尝试在具有数组数据类型的列中搜索数据。

[
  {
    "_id": 1,
    "types: [
      ["4","5","6"], ["7","8","9"]
    ]
  },
  {
    "_id": 2,
    "types: [
      ["4","1","2"], ["7","8","9"]
    ]
  },
  {
    "_id": 3,
    "types: [
      ["6","1","2"], ["7","8","9"]
    ]
  },
]

我想查询名为列types包含值“4”的数据。所以它会返回

[
  {
    "_id": 1,
    "types: [
      ["4","5","6"], ["7","8","9"]
    ]
  },
  {
    "_id": 2,
    "types: [
      ["4","1","2"], ["7","8","9"]
    ]
  },
]

这是我尝试过的,但它不起作用。 Employee::where('types', '=', $num)->get();

标签: phparrayslaravelmongodb

解决方案


因为类型的值是一个数组,= 不能是一个解决方案。我认为您应该使用类型值创建一个 foreach 循环,并将它们与您所需的值进行比较。


推荐阅读