Laravel blade 遍历 php array/object
Laravel blade iterating over php array/object
我无法输出 Laravel blade 中的键值对列表。
我的 show.blade.php 模板是:
@extends('layouts.app')
@section('content')
<ul>
@foreach ($datapoint as $key => $value)
<li>{{ $key, $value }}</li>
@endforeach
</ul>
{{ $datapoint }}
@endsection
显示此模板的控制器是:
<?php
namespace App\Http\Controllers;
use App\Hyfes;
use Illuminate\Http\Request;
class CaptainController extends Controller
{
public function getLiveData ()
{
$datapoint = Hyfes::find(1);
return view('captain.show')->with('datapoint', $datapoint);
}
}
在浏览器中输出到视图的数据是这样的:
- 递增
- 存在
- 是最近创建的
时间戳
{"date":"08/07/2017","time":"12:02:25","boat_name":"cyclone","current_location":"North Greenwich Pier","status":"docked","embarked":26,"disembarked":2,"people_on_board":24,"current_speed": 0,"hotel_power":231,"battery_power_demand":342,"battery_output_power":23,"engine_output_power":12,"battery_power_stored":100,"battery_depth_of_discharge":323, "fuel_consumption_rate":7,"nox":432,"co2":213,"battery_state_of_charge":100,"id":1}
理想情况下,我希望看到一个要点列表,显示例如:
- 日期:2017 年 8 月 7 日
- 时间:12:00:01
- boat_name:气旋
函数 Hyfes::find(1)
将 return 类型为 App\Hyfes
的对象,而不是数组。通过遍历键值对,您将获得所有属性。 Laravel 添加了许多额外的属性来跟踪对象。
更好的方法是使用 Laravel getAttributes
函数。这只会获取从数据库加载的属性。
像这样:
@foreach ($datapoint->getAttributes() as $key => $value)
<li>{{ $key }}: {{ $value }}</li>
@endforeach
您正在尝试迭代模板中的非数组变量。您必须明确说明您希望在模板中看到的对象的值。
@extends('layouts.app')
@section('content')
<ul>
<li>date: {{ $datapoint->date }}</li>
<li>time: {{ $datapoint->time }}</li>
<!-- and so on -->
</ul>
@endsection
我无法输出 Laravel blade 中的键值对列表。
我的 show.blade.php 模板是:
@extends('layouts.app')
@section('content')
<ul>
@foreach ($datapoint as $key => $value)
<li>{{ $key, $value }}</li>
@endforeach
</ul>
{{ $datapoint }}
@endsection
显示此模板的控制器是:
<?php
namespace App\Http\Controllers;
use App\Hyfes;
use Illuminate\Http\Request;
class CaptainController extends Controller
{
public function getLiveData ()
{
$datapoint = Hyfes::find(1);
return view('captain.show')->with('datapoint', $datapoint);
}
}
在浏览器中输出到视图的数据是这样的:
- 递增
- 存在
- 是最近创建的
时间戳
{"date":"08/07/2017","time":"12:02:25","boat_name":"cyclone","current_location":"North Greenwich Pier","status":"docked","embarked":26,"disembarked":2,"people_on_board":24,"current_speed": 0,"hotel_power":231,"battery_power_demand":342,"battery_output_power":23,"engine_output_power":12,"battery_power_stored":100,"battery_depth_of_discharge":323, "fuel_consumption_rate":7,"nox":432,"co2":213,"battery_state_of_charge":100,"id":1}
理想情况下,我希望看到一个要点列表,显示例如:
- 日期:2017 年 8 月 7 日
- 时间:12:00:01
- boat_name:气旋
函数 Hyfes::find(1)
将 return 类型为 App\Hyfes
的对象,而不是数组。通过遍历键值对,您将获得所有属性。 Laravel 添加了许多额外的属性来跟踪对象。
更好的方法是使用 Laravel getAttributes
函数。这只会获取从数据库加载的属性。
像这样:
@foreach ($datapoint->getAttributes() as $key => $value)
<li>{{ $key }}: {{ $value }}</li>
@endforeach
您正在尝试迭代模板中的非数组变量。您必须明确说明您希望在模板中看到的对象的值。
@extends('layouts.app')
@section('content')
<ul>
<li>date: {{ $datapoint->date }}</li>
<li>time: {{ $datapoint->time }}</li>
<!-- and so on -->
</ul>
@endsection