Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Ambil data dari table pivot

bang mohon pencerahannya, saya ingin menampilkan data dari table pivot yang di dalamnya tadinya berupa id , tetapi saya ingin menampilkan nama dari id yang tersimpan di pivot table tersebut bagaimana ya bang. mohon bantuannya

kode controller seperti ini:

  public function show($id, Request $request , Result $result)
    {
        $workers = \App\Worker::pluck('nama', 'id');
        $instances = \App\Instance::pluck('nama', 'id');
        $purposes = \App\Purpose::pluck('nama', 'id');



        $results = Result::with('purposes', 'instances','worker')->find($id);
        // $res = Result::with(['worker'])->get();
        // dd($res); die();
        // dd($results); die();
        if(!$results){
            return redirect()->route('kunjungan.index')->with(['alert-info'=>'Halaman Tidak ditemukan']);
        }

        return view('admin.results.show', compact('results','workers','purpose','instances','result','res'));
    }

dan coding view seprti di bawah ini :

 <th scope="col">Karyawan Kinarya</th>
						<td> :

							@foreach($results->workers as $data)
							<li>
								@php
									dd($data); die();
								@endphp
								{{ $data->pivot->worker_id }}
								 {{-- {{ $data->worker }} --}}
							</li>
							@endforeach

						 </td>

dengan hasil seperti berikut apakah dari table pivot memang hanya bisa tampil berupa id nya saja ?

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Diperbarui 6 tahun yang lalu

14 Jawaban:

Udah dibuat relasinya blom di modelnya? Klo udah, contoh <pre> //disesuaikan aja Public function results() { return $this-&gt;belongsToMany('App\Result')-&gt;withPivot('nama_kolom); </pre> di viewnya <pre> {{ $data-&gt;pivot-&gt;worker_id }} {{-- {{ $data-&gt;pivot-&gt;nama_kolom }} --}} </pre> semoga berhasil

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

sudah bang di model saya buat seperti ini <pre> public function results(){ return $this-&gt;belongsToMany('App\Result')-&gt;withPivot('result_id', 'worker_id');

} &lt;/pre&gt; , begini bang, kan data sudah muncul berdasar id (worker_id) tetapi saya ingin menampilkan nama dari id (worker_id) tersebut bang yang dari table worker bang . 

ada solusi nya ndak ya bang @bosque ? karna yang muncul hanya berupa id (worker_id saja bang)

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

tinggal tambahin aja kolom namenya <pre> public function results(){ return $this-&gt;belongsToMany('App\Result')-&gt;withPivot('result_id', 'worker_id','name');

} &lt;/pre&gt;
avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

sudah saya tambahkan bang , tadi saya tambilkan ndak bisa bang . oya bang dalam pivot table itu hanya ada result_id , worker_id saja bang, apakah seperti itu tetap bisa bang @bosque ? jadi kondisinya table pivot seperti ini bang <img src=' https://imgur.com/a/juDh6M2 '> , lalu saya ingin mengampilkan nama dari id di table sini bang <img src=' https://imgur.com/a/b8Mj4PB '>

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

bisa, ini kamu mau ngeluarinnya di bagian mana.. di resultnya kah atau di worker? klo diresultnya, tambahin di method yg berhubungan dengan table workernya kayak diatas. maaf gambar yg kamu upload gk bisa diload

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

di resultnya bang @bosque , ini di model tak tambahin seperti ini bang : <pre> public function results(){ return $this-&gt;belongsToMany('App\Result')-&gt;withPivot('result_id', 'worker_id', 'nama');

} &lt;/pre&gt; , kemudian di bagian view tak tampilin seperti ini bang 

<pre> &lt;td&gt; :

						@foreach($results-&amp;gt;workers as $data) 
						&amp;lt;li&amp;gt;
							@php
								// dd($data); die();
							@endphp
							{{-- {{ $data-&amp;gt;pivot-&amp;gt;worker_id }} --}}
							 {{ $data-&amp;gt;pivot-&amp;gt;nama }}
						&amp;lt;/li&amp;gt;  
						@endforeach  

					 &amp;lt;/td&amp;gt;         &lt;/pre&gt; tapi hasilnya kosong bang seperti ini &lt;a href=&#039;https://imgur.com/a/duV8bGw   &#039;&gt;https://imgur.com/a/duV8bGw   &lt;/a&gt;

table pivot hanya seperti ini bang <a href=' https://imgur.com/a/juDh6M2 '> https://imgur.com/a/juDh6M2 </a>

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

oh, coba ini di tabel resultnya <pre> public function workers(){ return $this-&gt;belongsToMany('App\Worker')-&gt;withPivot('worker_id', 'nama');

} &lt;/pre&gt;
avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

sudah tak rubah seperti ini bang <pre> // public function workers(){

   // return $this-&amp;gt;belongsToMany(&#039;App\Worker&#039;)
   //  -&amp;gt;withPivot(&#039;result_id&#039;, &#039;worker_id&#039;);    

   //  }

    public function workers(){
        return $this-&amp;gt;belongsToMany(&#039;App\Worker&#039;)-&amp;gt;withPivot(&#039;worker_id&#039;, &#039;nama&#039;);
    }

</pre> tapi eror begini bang @bosque <a href='https://imgur.com/x5jJqT6 '>https://imgur.com/x5jJqT6 </a>

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

errornya apa, link gambarnya ndak bisa dibuka

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

Kalo dilihat dari pertanyaannya sih, ini bukan mau ambil data dari pivot. karena errornya "kolom nama tidak kenal di table result_worker"

Munkin maksudnya gini : <pre> &lt;th scope="col"&gt;Karyawan Kinarya&lt;/th&gt; &lt;td&gt; :

@foreach($results-&amp;gt;workers as $data) 
	&amp;lt;li&amp;gt;								
	{{ $data-&amp;gt;nama }}								
	&amp;lt;/li&amp;gt;  
@endforeach  

&lt;/td&gt; </pre>

avatar rollo
@rollo

1 Kontribusi 1 Poin

Dipost 6 tahun yang lalu

@bosque erorr begini bang <pre> SQLSTATE[42S22]: Column not found: 1054 Unknown column 'result_worker.nama' in 'field list' (SQL: select workers.*, result_worker.result_id as pivot_result_id, result_worker.worker_id as pivot_worker_id, result_worker.nama as pivot_nama from workers inner join result_worker on workers.id = result_worker.worker_id where result_worker.result_id = 548) (View: D:\xampp\htdocs\kinarycrm\resources\views\admin\results\show.blade.php) </pre> apa pivot table harus ditambah field nama ya bang? jadi result_id, worker_id, nama ??

di model tak sudah saya tambah nama <pre> public function results(){ return $this-&gt;belongsToMany('App\Result')-&gt;withPivot('result_id', 'worker_id', 'nama');

}
public function workers(){
        return $this-&amp;gt;belongsToMany(&#039;App\Worker&#039;)-&amp;gt;withPivot(&#039;worker_id&#039;, &#039;nama&#039;);
} &lt;/pre&gt;
avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

@rollo jadi saya mau menampilkan nama dari ID yang tersimpan di table pivot, karna sebelumnya yang muncul itu id nya saja , lalu saya ingin menampilkan nama dari id tersebut

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

sudah kak sudah bisa , terimakasih kak @rollo dan bang @bosque atas pencerahaannya

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

kak saya boleh bertanya sekali lagi , jika ingin menampilkan nama (driver) dari table worker di table result, dengan table berikut ini <a href='https://imgur.com/0dVVgn0 '>https://imgur.com/0dVVgn0 </a> gimana ya kak? dengan coding seperti ini <pre>&lt;tr&gt; &lt;th&gt; Penanggung jawab&lt;/th&gt; &lt;td&gt; : {{$results-&gt;worker-&gt;nama}}&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th scope="col"&gt;Driver &lt;/th&gt; &lt;td&gt; : {{$results-&gt;driver}} &lt;/td&gt;
{{-- &lt;td&gt; : {{$results-&gt;worker-&gt;nama}} &lt;/td&gt; --}} &lt;/tr&gt; </pre> tampilannya seperti ini kak <a href=' https://imgur.com/jFaW3JR '> https://imgur.com/jFaW3JR </a> , saya ingin menampilkan nama dari id tersebut kak, karna jika saya masukan coding berikut <pre> &lt;tr&gt; &lt;th scope="col"&gt;Driver &lt;/th&gt; {{-- &lt;td&gt; : {{$results-&gt;driver}} &lt;/td&gt; --}} &lt;td&gt; : {{$results-&gt;worker-&gt;nama}} &lt;/td&gt;
&lt;/tr&gt; </pre> hasilnya nama akan sama dengan penanggung jawab, padahal id masing2 berbeda

avatar yenimulya
@yenimulya

50 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban