SE:003


02/12/2019 03:57:02 207 Web

Langkah 1: Buat File View

Pada resources\views buat 2 buah file dengan nama: (1) daftar-alamat.blade.php dan (2) daftar-profile.blade.php dengan ini masing-masing:

daftar-alamat.blade.php

@extends("template.master")

@section("body")

@endsection

daftar-profile.blade.php

@extends("template.master")

@section("body")

@endsection

**Langkah 2: Ubah Route ** Pada web.php ubah menjadi



Route::get("/profiles", function() { $data = \App\Profile::all(); return view("daftar-profile", [ 'data_profile' => $data ]); })->name("profile"); Route::get("/alamat", function() { $data = \App\Alamat::all(); return view("daftar-alamat", [ 'data_alamat' => $data ]); })->name("alamat");

jalankan php artisan serve, kemudian coba pada web browser dengan pada http://127.0.0.1:8000/alamat dan http://127.0.0.1:8000/profile

Langkah 3: Update View untuk Menampilkan Data

Pada daftar-profile.blade.php ubah kode sehingga menjadi seperti berikut:

@extends("template.master")

@section("body")

<table class="table table-bordered">
    <thead>
        <tr>
            <th>NO</th>
            <th>NAMA</th>
            <th>JENIS KELAMIN</th>
            <th>USER</th>
        </tr>
    </thead>
    <tbody>

    <?php foreach($data_profile as $index => $item) : ?>

    <tr>
        <td><?php echo $index + 1 ?></td>
        <td><?php echo $item->nama; ?></td>
        <td><?php echo $item->jenis_kelamin ?></td>
        <td><?php echo $item->user_id ?></td>
    </tr>

    <?php endforeach ?>
    </tbody>    
</table>

@endsection

Pada daftar-alamat.blade.php ubah kode sehingga menjadi seperti berikut:

@extends("template.master")

@section("body")

<table class="table table-bordered">
    <thead>
        <tr>
            <th>NO</th>
            <th>PROFILE</th>
            <th>NAMA</th>
            <th>ALAMAT LENGKAP</th>
            <th>LATITUDE</th>
            <th>LONGITUDE</th>
        </tr>
    </thead>
    <tbody>

    <?php foreach($data_alamat as $index => $item) : ?>

    <tr>
        <td><?php echo $index + 1 ?></td>
        <td><?php echo $item->profile_id; ?></td>
        <td><?php echo $item->nama ?></td>
        <td><?php echo $item->alamat_lengkap ?></td>
        <td><?php echo $item->latitude ?></td>
        <td><?php echo $item->longitude ?></td>
    </tr>

    <?php endforeach ?>
    </tbody>    
</table>

@endsection

Lihat tampilan pada web browser

Langkah 4: Tambah Relasi

Relasi antara Model User dan Profile

Pada model User tambahkan

    public function profile()
    {
        return $this->hasOne(Profile::class, "user_id", "id");
    }

Sedangkan pada Model Profile tambahkan kode berikut:

    public function user()
    {
        return $this->belongsTo(User::class, "user_id", "id");
    }

**Relasi antara Model Profile dan Alamat **

Pada model Profile tambahkan

    public function alamat()
    {
        return $this->hasMany(Alamat::class, "profile_id", "id");
    }

Sedangkan pada Model Alamat tambahkan kode berikut:

    public function profile()
    {
        return $this->belongsTo(Profile::class, "profile_id","id");
    }

Langkah 5: Ubah Tampilan

Ubah daftar-profile.blade.php: Ubah kode <php echo $item->user_id ?> menjadi <?php echo $item->user->username ?>

Ubah daftar-alamat.blade.php: Ubah kode <php echo $item->profile_id ?> menjadi <?php echo $item->profile->nama ?>