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);