Laravel:检索JSON数组中的值计数

时间:2017-11-14 09:32:19

标签: laravel laravel-5.4

Iv目前接管了一个项目,开发人员在某些表的json数组列中存储了mappend个关系。

产品表

has many

这是存储在产品和产品颜色之间的关系的示例。

我需要能够获得与certian颜色相关的产品数量。 因此,在此示例中,---------------------------- id | product | colour ---------------------------- 1 iPhone ["8","4","1"] 2 iPad ["8","1"] 3 Macbook ["8"] 将返回colour: 8

我习惯使用3 products的Eloquent关系但不幸的是在这种情况下我不能这样做,我无法改变当前的数据库结构。

如何使用雄辩的where或whereIn子句获得每种颜色的产品数量?

到目前为止我的尝试......

$product->colours()

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:4)

这很难看,但我猜它有效:

\App\Product::where('colour','like','%"' .$colour->id '"%')->distinct()->count()