Rumah > Soal Jawab > teks badan
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粉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)@endforeach @endforeach {{$no++}} {{$pekerjaan->pekerjaan}} {{$penyedias->nama}} {{$pekerjaan->lokasi}} Rp. {{number_format($pekerjaan->hps,0,',',',')}} Rp. {{number_format($pekerjaan->nilai_kontrak,0,',',',')}} Edit
Dan tukar $provider =provider::all(); pada pengawal anda $provider = Provider::all();