如何在 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>

希望这会有所帮助。