Php 为Laravel 5.5中的foreach()提供的参数无效
我试图从数据库中检索记录,但最终总是在@foreach中得到一个无效的参数错误。我的语法看起来正确,我找不到问题所在。请帮忙 role.blade.phpPhp 为Laravel 5.5中的foreach()提供的参数无效,php,laravel,Php,Laravel,我试图从数据库中检索记录,但最终总是在@foreach中得到一个无效的参数错误。我的语法看起来正确,我找不到问题所在。请帮忙 role.blade.php <div class="box-body"> <table id="example1" class="table table-bordered table-striped"> <thead> <tr> <!-- <th><
<div class="box-body">
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<!-- <th></th> -->
<th>Name</th>
<th>Company ID</th>
<th>Role Type</th>
</tr>
</thead>
<tbody>
@foreach ($data as $datas)
<tr>
<td>{{ $datas->id }}</td>
<td>{{ $datas->company_name }}</td>
<td>{{ $datas->role_type }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
routes.php
Route::get('/roles', 'mainController@roles');
您必须使用get()
方法从数据库中获取数据。从视图函数中删除单个引号<代码> $DATA/COD>,将数据与单引号传递为字符串而不是数组。< /P>
public function roles(){
$data = DB::select('select * from roles')->get();
return view('admin.roles', ['data'=>$data]);
}
您必须使用get()
方法从数据库中获取数据。从视图函数中删除单个引号<代码> $DATA/COD>,将数据与单引号传递为字符串而不是数组。< /P>
public function roles(){
$data = DB::select('select * from roles')->get();
return view('admin.roles', ['data'=>$data]);
}
您正在尝试对字符串进行迭代,因此请更改以下内容:
'data'=>'$data'
致:
您正在尝试对字符串进行迭代,因此请更改以下内容:
'data'=>'$data'
致:
它将给出一个错误,因为
$data
将为空
因此,您需要检查变量是否已设置且不为空
在刀片模板文件中,您需要放入if
语句,如下所示:
.....
</tr>
</thead>
<tbody>
@if (isset($data) && !empty($data))
@foreach ($data as $datas)
<tr>
<td>{{ $datas->id }}</td>
<td>{{ $datas->company_name }}</td>
<td>{{ $datas->role_type }}</td>
</tr>
@endforeach
@endif
</tbody>
.....
。。。。。
@if(isset($data)和&!empty($data))
@foreach($data作为$datas)
{{$datas->id}
{{$datas->company_name}
{{$datas->role_type}
@endforeach
@恩迪夫
.....
它将给出一个错误,因为
$data
将为空
因此,您需要检查变量是否已设置且不为空
在刀片模板文件中,您需要放入if
语句,如下所示:
.....
</tr>
</thead>
<tbody>
@if (isset($data) && !empty($data))
@foreach ($data as $datas)
<tr>
<td>{{ $datas->id }}</td>
<td>{{ $datas->company_name }}</td>
<td>{{ $datas->role_type }}</td>
</tr>
@endforeach
@endif
</tbody>
.....
。。。。。
@if(isset($data)和&!empty($data))
@foreach($data作为$datas)
{{$datas->id}
{{$datas->company_name}
{{$datas->role_type}
@endforeach
@恩迪夫
.....
在foreach循环之前打印您的
$data
变量@prakashtankally do print\u r($data)如何执行该操作;每当你在循环中卡住并检查它到底在打印什么时,都德:)在每次循环之前打印你的$data
变量@prakashtankally do print\r($data);当你在循环时卡住并检查它到底打印了什么dude:)你不需要将get()
添加到原始查询中。你不需要将get()
添加到原始查询中。谢谢。当我看到这个错误时,我觉得自己像个傻瓜。解决了我的问题。@jptl431别担心,每个人都会遇到的。很高兴有帮助,谢谢。当我看到这个错误时,我觉得自己像个傻瓜。解决了我的问题。@jptl431别担心,每个人都会遇到的。很高兴它有帮助。对于每一个“单数”你都把它当作“复数”?也许倒过来做是一个更好的做法:将每个“复数”作为“单数”。快乐编码…对于每一个“单数”你都把它当作“复数”?也许倒过来做是一个更好的做法:将每个“复数”作为“单数”。快乐编码。。。