如何在 blade 文件 (html table) 中显示数组数据形式的控制器? Laravel
How to show array data form controller in blade file (html table)? Laravel
由于我是 Laravel 的新手,所以我遇到了一个非常复杂的问题。
我有这样的控制器文件 ApiHandlerController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use GuzzleHttp\Client;
class ApiHandlerController extends Controller
{
//
public function index()
{
$client = new Client([
// Base URI is used with relative requests
'base_uri' => 'http://jsonplaceholder.typicode.com/todos',
]);
$response = $client->request('GET', '/todos');
//get status code using $response->getStatusCode();
$body = $response->getBody();
$arr_body = json_decode($body);
return view('myview', $arr_body);
}
}
?>
myview.blade.php作为视图文件:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Todo</title>
<link rel="shortcut icon" type="image/x-icon" href="icon.ico">
<meta name="description" content="HTML, PHP, JSON, REST API">
<style>table, th, td {border: 1px solid black;}</style>
</head>
<body>
<table style="width:100%"; class="data-table">
<tr>
<th>User ID:</th>
<th>ID:</th>
<th>Title:</th>
<th>Completed</th>
</tr>
<?php foreach ($arr_body as $value) { ?>
<tr>
<td><?php echo $value -> userId ?> </td>
<td><?php echo $value -> id ?> </td>
<td><?php echo $value -> title ?> </td>
<td><?php echo $value -> completed ?> </td>
</tr>
<?php } ?>
</table>
和web.php文件路径:
Route::get('myview', function () {
return view('myview');
});
我的问题是:
如何在此 blade(查看)文件中显示 jsonplaceholder.typicode.com 的待办事项结果?
目前,这是不可能的,每次我尝试都是错误的:
ErrorException
Undefined variable: arr_body (View: C:\xampp\htdocs\TodoList\resources\views\myview.blade.php)
Thank you guys in advance!
要在 blade...
中显示数组类型数据
首先编辑您的控制器代码。
发件人:
return view('myview', $arr_body);
收件人:
return view('myview')->with('arr_body', $arr_body);
下面是核心 php 语法。
<td><?php echo $value['userId'] ?> </td>
Laravel 句法
<td>{{$value['userId']}}</td>
希望这会有所帮助。
由于我是 Laravel 的新手,所以我遇到了一个非常复杂的问题。
我有这样的控制器文件 ApiHandlerController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use GuzzleHttp\Client;
class ApiHandlerController extends Controller
{
//
public function index()
{
$client = new Client([
// Base URI is used with relative requests
'base_uri' => 'http://jsonplaceholder.typicode.com/todos',
]);
$response = $client->request('GET', '/todos');
//get status code using $response->getStatusCode();
$body = $response->getBody();
$arr_body = json_decode($body);
return view('myview', $arr_body);
}
}
?>
myview.blade.php作为视图文件:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Todo</title>
<link rel="shortcut icon" type="image/x-icon" href="icon.ico">
<meta name="description" content="HTML, PHP, JSON, REST API">
<style>table, th, td {border: 1px solid black;}</style>
</head>
<body>
<table style="width:100%"; class="data-table">
<tr>
<th>User ID:</th>
<th>ID:</th>
<th>Title:</th>
<th>Completed</th>
</tr>
<?php foreach ($arr_body as $value) { ?>
<tr>
<td><?php echo $value -> userId ?> </td>
<td><?php echo $value -> id ?> </td>
<td><?php echo $value -> title ?> </td>
<td><?php echo $value -> completed ?> </td>
</tr>
<?php } ?>
</table>
和web.php文件路径:
Route::get('myview', function () {
return view('myview');
});
我的问题是:
如何在此 blade(查看)文件中显示 jsonplaceholder.typicode.com 的待办事项结果? 目前,这是不可能的,每次我尝试都是错误的:
ErrorException Undefined variable: arr_body (View: C:\xampp\htdocs\TodoList\resources\views\myview.blade.php) Thank you guys in advance!
要在 blade...
中显示数组类型数据首先编辑您的控制器代码。
发件人:
return view('myview', $arr_body);
收件人:
return view('myview')->with('arr_body', $arr_body);
下面是核心 php 语法。
<td><?php echo $value['userId'] ?> </td>
Laravel 句法
<td>{{$value['userId']}}</td>
希望这会有所帮助。