【问题标题】:How to make an eloquent query on database two dimensional array by an one dimensional array value如何通过一维数组值对数据库二维数组进行雄辩的查询
【发布时间】:2022-01-27 09:53:54
【问题描述】:

在我的数据库中,我有一个 JSON 数组列(值),其中我的数据如下:

{1:[1],2:[6]}

我请求的数组是这样的:

$request['query'] = [1,6];

这些是要过滤的嵌套数组的值。

我可以像这样对数据库上的一维数组进行查询:

 if (count($request['query']) > 0)
 {
   foreach ($request['query'] as $value) 
   {
      $products->orWhere('values', 'like', "%\"{$value}\"%");
    }
 }

我的数据库列(值)数组是这样的:

[1,2]

现在我想过滤我请求的任何值是否与我的数据库嵌套数组值匹配。 请帮我解决这个问题。

【问题讨论】:

    标签: php mysql laravel eloquent laravel-8


    【解决方案1】:

    您可以使用 whereIn()

    按一维数组值过滤数据
    $query = Product::where('color', 'blue')
    ->whereIn('value', $request['query'])
    ->get();
    

    【讨论】:

      猜你喜欢
      • 2018-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 2015-08-25
      • 2017-10-22
      相关资源
      最近更新 更多