sql - Laravel 规范搜索
问题描述
我正在建立电子商务网站,我想问一下搜索产品规格的最佳方法是什么。我在数据库中有一个字段,其规格可以存储为 json 或 php 数组。是否有任何教程可以用来输出唯一规范例如类别 CPU,并将不同的 CPU 品牌放在该类别下,以便用户可以决定将哪个规范添加到搜索过滤器。为了给你一个视角,我想做这样的事情
解决方案
你可以搜索虽然whereJsonContains()
方法。
例如;
假设您的表单中有一些过滤器,如下所示
brands
- intel
- amd
Number of core
- 2
- 4
- 8
现在让我们构建一个查询以获取过滤结果
Cpu::whereJsonContains("preferences->brand",$request->brand)
->whereJsonContains("preferences->noc", $request->noc)
->get();
但我不确定在您的数据库中存储这样的 json 数据是否是一种好习惯。因为它不是存储和展示柜,所以会有通用结果取决于那些规格。
推荐阅读
- javascript - 用于在 WordPress 循环中关闭引导模式的动态脚本
- scala - SBT with Spark-Core 3.0.1 Exception NoClassDefFound for org/apache/log4j/Logger
- python - 将所有字符([0-9A-Za-z ] 除外)转换为 HTML 十进制实体
- c# - IEnumerator 的 C# 等待任务
- python-3.x - 如何比较两个表中的多个列并找出重复项?
- xml - 如何在basex上打印没有标签的数据?
- dart - 生成动态群人
- amazon-web-services - AWS DocumentDb 不支持 mongodb 4.0
- lisp - 常见的 lisp 函数打印 nil 而不是 ()
- angular - 如何配置 AngularFireAuthModule 和/或 AngularFireAuth 以指向身份验证模拟器