Laravel 为foreach()请求提供的参数无效?拉维尔

Laravel 为foreach()请求提供的参数无效?拉维尔,laravel,httprequest,blade,Laravel,Httprequest,Blade,我的要求有问题。我想我已经知道为什么会出现这个错误了,但是我不知道如何修复它 这是关于我刀片中的这个表单: {!! Form::open(['action' => 'TrickController@tags', 'class' => 'blog-form']) !!} @foreach($ids as $id) {!! Form::hidden('id[]', $id) !!} @endforeach {!! Form::label('tags', 'Tags

我的要求有问题。我想我已经知道为什么会出现这个错误了,但是我不知道如何修复它

这是关于我刀片中的这个表单:

{!! Form::open(['action' => 'TrickController@tags', 'class' => 'blog-form']) !!}

  @foreach($ids as $id)
    {!! Form::hidden('id[]', $id) !!}
  @endforeach

  {!! Form::label('tags', 'Tags') !!}
  {!! Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'example, example, example']) !!}
  <br>
  {!! Form::submit('Absenden', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
如果我做的一切都是正确的,那么多个
id
就会被传递到我的控制器,我的整个代码都会工作。但是如果用户做了不正确的事情,我需要请求中的错误

有人知道我能做些什么吗

如果我只传递一个
id
,我的请求可以正常工作,如下所示:

{!! Form::hidden('id', 5) !!}
谢谢你花时间

找到了一个好方法:)--已解决的代码: 我在ID数组上使用了serialize函数

$data = serialize($id_array);
然后我把它传给了我的视野,并在我隐藏的领域中使用它,根本没有任何理由

{!! Form::hidden('id', $data) !!}
在下一个控制器函数中,我只使用了unserialize函数

$id = unserialize($id);

并将它们作为数组返回:)

foreach循环希望您为它提供一些可以迭代的内容。我猜想您正在使用的
$ids
变量有时不满足此条件,因此您会得到错误
为foreach()提供的无效参数

<> P> >考虑一些问题来解决这个问题:

检查变量<代码> $IDs/COD>是如何设置的,并考虑重写如何初始化这个变量。您可以将用于初始化变量的代码添加到问题中,以获得有关如何更改变量的建议

在将
$ids
变量传递到视图之前,请使用类似
is_array($ids)
is_object($ids)
等方法进行检查,如果它返回不可编辑的内容,则可能将其初始化为空数组

或者你可以把这两点结合起来


希望这能有所帮助。

我理解使用blade语法很酷,但在任何情况下都不会强制采用它。我会考虑使用经典<代码> <代码>,你尝试过这种方式吗?错误说$IDS变量不是数组。转储它以查看它的类型/值。但是如果我做得对,我会将所有ID作为数组传递给我的控制器。但是我已经准备好了:)我已经用一个很好的方法更新了我的问题:)谢谢你,不用客气。你可以添加自己的答案,如果是这样的话,你可以接受它。
$id = unserialize($id);