Получение данных из БД в компоненте
В классе компонента можно получить данные из таблицы и передать их в вид компонента:
app/View/Components/Header.php<?php
namespace App\View\Components;
use Illuminate\View\Component;
use App\Models\Home;
class Header extends Component
{
// Создайте новый экземпляр компонента @return void
public function __construct()
{
//
}
// Получите представление / содержимое, которые представляют компонент @return \Illuminate\Contracts\View\View|\Closure|string
public function render()
{
$home = Home::all();
return view('components.header', ['home' => $home]);
}
}
Выведем переданные данные в представлении, но получить их вызвав данное представление в контроллере не получится:
resources/views/components/header.blade.php<?php
@foreach ($home as $key => $elem)
{{ $elem }}
@endforeach
Обратится в представление компонента можно из любого view
используя слоты:
resources/views/index.blade.php<?php
<x-header/>