【问题标题】:Get records with array values in a field using eloquent使用 eloquent 获取字段中包含数组值的记录
【发布时间】:2016-01-27 03:11:40
【问题描述】:

我有一个表,其中有一个字段我称为videos,该字段的类型是array。现在我想获取在videos field 中至少有 1 个值的所有记录。下面是我的代码,它没有返回我想要的。

$prod = Product::where(array('videos' => array('$ne' => 0)))->get();

我使用 laravel 4.2 和 mongoDb 作为我的数据库。

【问题讨论】:

  • 获取所有至少有1视频链接或其他的记录?

标签: php mongodb laravel laravel-4 eloquent


【解决方案1】:

也许这个答案可以帮助你,因为我想出了Json 将数据编码为数组的解决方案。所以当它为空时,值为[]。所以你可以像这样查询它

$prod = Product::where('videos', '!=', '[]')->get();

【讨论】:

  • 我在上面尝试了你的代码,但它仍然返回空的视频数组。谢谢你。希望大家多多解答
【解决方案2】:

我很高兴找到了解决方案。它需要知道字段videos 存在且不为空。看看下面的代码:

$prod = Product::where(array('videos' => array('$ne' => [], '$exists' => true)))->get();

【讨论】:

  • @basheer 感谢您给我一个提示,我也可以使用 [ ] 来表示您之前答案中的数组。
猜你喜欢
  • 2021-06-04
  • 2018-12-23
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
相关资源
最近更新 更多