Rumah  >  Soal Jawab  >  teks badan

Dapatkan data daripada laravel nama padanan jadual lain

Sebelum saya mula, beberapa terjemahan kerana kod saya bukan dalam bahasa Inggeris:

pembekal = pembekal

kerja=kerja

Jadi saya ada dua meja, meja pembekal dan lembaran kerja. Setiap pembekal boleh memiliki berbilang kerja, dan setiap kerja hanya boleh dimiliki oleh satu pembekal. Ia sepatutnya menjadi hubungan satu-ke-banyak. Ini meja saya

Senarai Pembekal

Meja kerja

Jadi, saya menggunakan LARAVEL sebagai rangka kerja saya. Saya telah mencipta jadual vendor dengan butang tindakan dan saya mahu ia berfungsi dan jika butang itu diklik ia akan menunjukkan senarai pekerjaan (pekerjaan) yang dimiliki oleh nama vendor yang tepat. Seperti yang anda lihat daripada jadual di atas, saya menambah nama vendor (nama) pada "helaian" dalam pangkalan data. Bagaimanakah saya boleh membuat ciri ini berfungsi? Saya baru mengenali Eloquent dalam Laravel.

Ini ialah fail model saya:

Jobs.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('App\Models\Penyedia');
   }

}

Pembekal.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('App\Models\Pekerjaan');
   }
}

AdminController.php

public function showpekerjaan(){
        $penyedia = penyedia::all();

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

tabelnilai_pekerjaan.blade.php (Saya nak paparkan helaian ini berdasarkan pembekal)

<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 ($penyedia as $penyedias)
                      <tr>
                        <td>{{$no++}}</td>
                        <td>{{$penyedias->pekerjaan->pekerjaan}}</td>
                        <td>{{$penyedias->pekerjaan->nama}}</td>
                        <td>{{$penyedias->pekerjaan->lokasi}}</td>
                        <td>Rp. {{number_format($pekerjaans->pekerjaan->hps,0,',',',')}}</td>
                        <td>Rp. {{number_format($pekerjaans->pekerjaan->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>

Ada apa-apa yang saya perlu tambah, edit atau ubah? Terima kasih

P粉378264633P粉378264633287 hari yang lalu388

membalas semua(1)saya akan balas

  • P粉710478990

    P粉7104789902024-01-30 00:47:00

    Anda cuba mencetak tatasusunan sebagai rentetan. Hubungan pekerjaan() anda mempunyai banyak harta dan ia mengembalikan tatasusunan. Jika anda ingin memaparkan semua pekerjaan, anda perlu menjalankan gelung kedua di dalam gelung. Jika anda hanya perlu memaparkan satu, anda boleh melakukan ini

    {{$penyedias->pekerjaan[0]->pekerjaan}}

    Untuk menunjukkan semua kerja yang anda boleh gelung pada $provider->kerja seperti:

    @php $no = 1; @endphp
                      @foreach ($penyedia as $penyedias) 
                       @foreach($penyedias->pekerjaan as $pekerjaan)
                      
                        {{$no++}}
                        {{$pekerjaan->pekerjaan}}
                        {{$penyedias->nama}}
                        {{$pekerjaan->lokasi}}
                        Rp. {{number_format($pekerjaan->hps,0,',',',')}}
                        Rp. {{number_format($pekerjaan->nilai_kontrak,0,',',',')}}
                        
                            Edit
                        
                      
                       @endforeach
                      @endforeach

    Dan tukar $provider =provider::all(); pada pengawal anda $provider = Provider::all();

    balas
    0
  • Batalbalas