Laravel Inertia Spatie #5 Shared data Inertia


Laravel Inertia Spatie #5 Shared data Inertia

Untuk membuat data secara global, kita bisa mendefinisikannya di dalam middleware yang sudah disediakan oleh Inertia.js. Disini kita akan menambahkan beberapa data yang mungkin nantinya akan kita gunakan terus di dalam halaman.

Silahkan buka file app/Http/Middleware/handleInertiaRequest.php, kemudian ubah kode-nya menjadi seperti berikut ini :

<?php

namespace App\Http\Middleware;

use Illuminate\Http\Request;
use Inertia\Middleware;

class HandleInertiaRequests extends Middleware
{
    /**
     * The root template that is loaded on the first page visit.
     *
     * @var string
     */
    protected $rootView = 'app';

    /**
     * Determine the current asset version.
     */
    public function version(Request $request): ?string
    {
        return parent::version($request);
    }

    /**
     * Define the props that are shared by default.
     *
     * @return array<string, mixed>
     */
    public function share(Request $request): array
    {
        return [
            ...parent::share($request),
            'auth' => [
                'user' => $request->user(),
                'permissions' => $request->user() ? $request->user()->getUserPermissions() : [],
            ],
        ];
    }
}

Pada kode diatas pada method share kita menambahkan beberapa key didalam array auth, yang pertama ada key permissions.

'permissions' => $request->user() ? $request->user()->getUserPermissions() : [],

Pada kode diatas, key permissions kita lakukan pengecekan apakah user sedang login ? jika true maka kita tampilkan data permissions yang dimiliki oleh user menggunakan method getUserPermissions yang telah kita buat sebelumnya di model users, jika false maka kita akan tampilkan empty array.

kesimpulan

Kurang lebih seperti itu untuk menambahkan global data / shared data menggunakan Inertia.js, kita bebas menambahkan data apapun disitu dan otomatis akan bersifat global.

Jika teman-teman ada kendala saat belajar, silahkan bisa bertanya melalui kolom komentar atau group Telegram SantriKoding.

Semoga bermanfaat! 😊


Syahrizal AS
Back End Developer

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami