Laravel WhereIn不接受数组值

时间:2019-06-09 09:39:22

标签: laravel

我的刀片文件上有这个

{{ Form::open(['route' => 'my_route_name']) }}

  <button type="submit" class="btn btn-sm btn-success">
  <i class="fa fa-file-excel-o" aria-hidden="true"></i> Download
  </button>

  {{ Form::hidden('my_ids', $my_ids) }}

{{ Form::close() }}

检查Chrome的开发人员模式时,名为my_ids的隐藏文本框的值为:

[1,2,3,4,5,6]

在点击下载按钮后,它就会出现在我的控制器上:

$results= Model::whereIn('id', $request->my_ids)->get();

这是我遇到错误的地方。

在控制器上对dd($request->my_ids)进行DD-ing操作"[1,2,3,4,5,6]"

但是,如果我将值直接放在如下所示的雄辩查询中,则它会起作用

$results= Model::whereIn('id', [1,2,3,4,5,6])->get();

我在这里想念东西吗?

1 个答案:

答案 0 :(得分:3)

您的dd显示$ request-> my_ids是一个字符串,因此必须在将其用作数组之前对其进行解析。

尝试

$results= Model::whereIn('id', json_decode($request->my_ids))->get();