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()
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:4)
这很难看,但我猜它有效:
\App\Product::where('colour','like','%"' .$colour->id '"%')->distinct()->count()