Cara mendapat data dari tabel lain sesuai nama dalam database yang sama Laravel

Jadi, saya memiliki 2 tabel, Tabel Penyedia dan Tabel Pekerjaan. Penyedia dapat memiliki banyak Pekerjaan, dan satu Pekerjaan hanya bisa dimiliki satu Penyedia. Mengusung one to many relationship.  Berikut tabel nya:

Tabel Pekerjaan
tabel-pekerjaan-sql.jpgtabel pekerjaan sql.jpg
Tabel Penyedia
tabel-penyedia-sql.jpgtabel penyedia sql.jpg
Jadi di sini saya menggunakan LARAVEL sebagai framework utama. Saya ada membuat tabel penyedia dengan tombol aksi, yg dimana tombol tersebut akan menampilkan list data pekerjaan sesuai dengan nama penyedia yg kita klik tombol nya. Dapat dilihat di tabel database di atas, tabel pekerjaan memiliki "nama" penyedia sebagai acuan. Bagaimana cara agar saya bisa menampilkan list pekerjaan sesuai dengan "nama" penyedia dari tabel penyedia?

Berikut adalah file model nya:

Pekerjaan.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model as Eloquent;

class Pekerjaan extends Eloquent
{
    use HasFactory;

    protected $guarded = [];

    public function penyedia(){
        return $this->belongsTo(penyedia::class);
   }

}

Penyedia.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model as Eloquent;

class Penyedia extends Eloquent
{
    use HasFactory;

    protected $guarded = [];

    public $timestamps = false;

    public function pekerjaan(){
       return $this->hasMany(pekerjaan::class);
   }
}

Dan in file controller saya:
    public function showpekerjaan(){
        $pekerjaan = pekerjaan::with('penyedia.nama');

        return view('admin.showpekerjaan', compact('pekerjaan'));
    }

Dan ini file blade yg ingin saya tampilkan
tabelnilai_pekerjaan.blade.php (menampilkan data pekerjaan sesuai dengan nama penyedia yg dipilih)
<section class="content">
    <div class="container-fluid">
        <div class="row">
            <div class="col-12">
              <div class="card">
                <div class="card-header">
                  <h3 class="card-title">Tabel Nilai Pekerjaan</h3>
                </div>
                <!-- /.card-header -->
                <div class="card-body table-responsive">
                  <table id="tabelpekerjaan" class="table table-bordered">
                    <thead>
                      <tr>
                        <th style="width: 10px">No.</th>
                        <th>Paket Pekerjaan</th>
                        <th>Nama Perusahaan</th>
                        <th>Lokasi Pekerjaan</th>
                        <th>HPS</th>
                        <th>Nilai Kontrak</th>
                        <th style="width: 120px">Aksi</th>
                      </tr>
                    </thead>
                    <tbody>
                      @php $no = 1; @endphp
                      @foreach ($pekerjaan as $pekerjaans)
                        @foreach($pekerjaans->penyedia as $penyedias)
                      <tr>
                        <td>{{$no++}}</td>
                        <td>{{$penyedias->pekerjaan}}</td>
                        <td>{{$penyedias->nama}}</td>
                        <td>{{$penyedias->lokasi}}</td>
                        <td>Rp. {{number_format($penyedias->hps,0,',',',')}}</td>
                        <td>Rp. {{number_format($penyedias->nilai_kontrak,0,',',',')}}</td>
                        <td>
                            <a href="#" type="button" class="btn btn-primary btn-block btn-outline-primary">Edit</a>
                        </td>
                      </tr>
                        @endforeach
                      @endforeach
                    </tbody>
                  </table>
                </div>
                <!-- /.card-body -->
              </div>
              <!-- /.card -->
  
            
    </div>
</section>

Hasil yg ditampilkan kosong, dan tidak ada error di console. Mohon bantuan dan pencerahan nya, Terima kasih.
avatar YuPhe

@YuPhe

3 Kontribusi 0 Poin


Jawaban

 
public function showpekerjaan(Request $request)
{
    $pekerjaan= pekerjaan::where('nama', $request->nama)->get();

    return view('admin.showpekerjaan', compact('pekerjaan'));
} 
avatar salmanalmajali

@salmanalmajali

2 Kontribusi 0 Poin


<section class="content">
    <div class="container-fluid">
        <div class="row">
            <div class="col-12">
              <div class="card">
                <div class="card-header">
                  <h3 class="card-title">Tabel Nilai Pekerjaan</h3>
                </div>
                <!-- /.card-header -->
                <div class="card-body table-responsive">
                  <table id="tabelpekerjaan" class="table table-bordered">
                    <thead>
                      <tr>
                        <th style="width: 10px">No.</th>
                        <th>Paket Pekerjaan</th>
                        <th>Nama Perusahaan</th>
                        <th>Lokasi Pekerjaan</th>
                        <th>HPS</th>
                        <th>Nilai Kontrak</th>
                        <th style="width: 120px">Aksi</th>
                      </tr>
                    </thead>
                    <tbody>
                      @php $no = 1; @endphp
                      @foreach ($pekerjaan as $pekerjaans)
                      <tr>
                        <td>{{$no++}}</td>
                        <td>{{$pekerjaans->pekerjaan}}</td>
                        <td>{{$pekerjaans->nama}}</td>
                        <td>{{$pekerjaans->lokasi}}</td>
                        <td>Rp. {{number_format($pekerjaans->hps,0,',',',')}}</td>
                        <td>Rp. {{number_format($pekerjaans->nilai_kontrak,0,',',',')}}</td>
                        <td>
                            <a href="#" type="button" class="btn btn-primary btn-block btn-outline-primary">Edit</a>
                        </td>
                      </tr>
                      @endforeach
                    </tbody>
                  </table>
                </div>
                <!-- /.card-body -->
              </div>
              <!-- /.card -->
  
            
    </div>
</section>
avatar salmanalmajali

@salmanalmajali

2 Kontribusi 0 Poin


Login untuk gabung berdiskusi