#php #json #laravel
Вопрос:
Я загружаю файл json из папки ресурсов ресурсы/данные/пример.json
public function __construct()
{
// Load json file
$path = base_path('resources/data/rooms.json');
$content = file_get_contents($path);
$data = json_decode($content);
}
мой файл json выглядит так, это простой файл только для примера: [ { "id":"bicycle", "category":"vehicle", "name":"Bicycle One", "images":[ "/img/bike_slider_1.jpg", "/img/bike_slider_2.jpg" ], },
итак, теперь мне интересно, как я могу передать некоторые из этих данных в представление, например bikes.blade.php который выглядит примерно так: @extends('layouts.default') @section('content') <main>{{ content[1] }}</main>
любая помощь будет оценена по достоинству 🙂
Ответ №1:
public function index()
{
// Load json file
$path = base_path('resources/data/rooms.json');
$content = file_get_contents($path);
$data = json_decode($content);
return view('bikes', [
'items' => $data,
]);
}
Внутреннее лезвие
@foreach ($items as $item)
{{ $item->name }}
@endforeach
Ответ №2:
https://laravel.com/docs/8.x/views#passing-data-to-views
вы можете перейти по этой ссылке. Вы уже преобразуете данные JSON в объект. Теперь просто передайте его с контроллера.
return view('yourBladeFile')->with('data ', $data );
Теперь в файле блейда вы можете прочитать это так:
@foreach($data as $item)
<p> {{$item->name}} </p>
@endforeach
или другим подходящим для вас способом.