Php 在laravel blade中创建动态表
我在动态创建表时遇到问题 基本上,我是通过以下语句从数据库中获取数据的:Php 在laravel blade中创建动态表,php,mysql,laravel,Php,Mysql,Laravel,我在动态创建表时遇到问题 基本上,我是通过以下语句从数据库中获取数据的: $data = User::all(); $columns = DB::getSchemaBuilder()->getColumnListing('users'); return view('framework/list', compact('data', 'columns')); 之后,我通过以下语句获取了数据库表的属性名称: $data = User::all(); $columns = DB::ge
$data = User::all();
$columns = DB::getSchemaBuilder()->getColumnListing('users');
return view('framework/list', compact('data', 'columns'));
之后,我通过以下语句获取了数据库表的属性名称:
$data = User::all();
$columns = DB::getSchemaBuilder()->getColumnListing('users');
return view('framework/list', compact('data', 'columns'));
之后,通过以下语句将$data和$columns
发送到视图:
$data = User::all();
$columns = DB::getSchemaBuilder()->getColumnListing('users');
return view('framework/list', compact('data', 'columns'));
在我看来,即list.blade.php,两个foreach循环用于创建
和
,如下所示:
@foreach($data as $singleUser)
<tr>
@foreach($columns as $cols)
<td>
{{$singleUser->$cols}}
{{Blade::compileString('"'.'$singleUser->'."$cols".'"')}}
</td>
@endforeach
</tr>
@endforeach
@foreach($singleUser形式的数据)
@foreach($列作为$cols)
{{$singleUser->$cols}
{{Blade::compileString('''.'$singleUser->'.'$cols'.'''')}
@endforeach
@endforeach
但是我得到一个异常,而不是打印值(两个语句用于打印值,但它们都给出相同的异常)
(3/3)错误异常
正在尝试获取非对象的属性(视图:/home/srmd/biniHR/resources/views/layouts/key.blade.php)(视图:/home/srmd/resources/views/layouts/key.blade.php)
对于动态调用,您必须使用:
{{$singleUser->{$cols}}}
这种“用大括号括起来”的技巧在PHP中非常有用
由变量引起的歧义
您可以将userobject转换为数组并对其进行迭代,而不是获取数据库值:
@foreach($data as $singleUser)
<tr>
@foreach($singleUser->toArray() as $key => $value)
<td>
Key {{ $key }}
Value {{ $value }}
Value {{ $singleUser->toArray()[$key] }} //equal to first try
Value {{ $singleUser->{$key} }} // not sure if it works, but it should
</td>
@endforeach
</tr>
@endforeach
@foreach($singleUser形式的数据)
@foreach($singleUser->toArray()作为$key=>$value)
密钥{{$Key}}
值{{$Value}}
值{{$singleUser->toArray()[$key]}//等于第一次尝试
值{{$singleUser->{$key}}}//不确定它是否有效,但应该有效
@endforeach
@endforeach
Try:returnview('framework/list')->with('data'=>$data)->with('columns'=>$columns)代码>共享$data
和$columns
的一个元素?Troyer相同issue@user2486不,我想把这两个对象都传递给视图,并针对这些对象进行创建。我正在与我们共享,是否在您的问题中粘贴输出?