Postingan lainnya
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 ?
14 Jawaban:
Udah dibuat relasinya blom di modelnya? Klo udah, contoh <pre> //disesuaikan aja Public function results() { return $this->belongsToMany('App\Result')->withPivot('nama_kolom); </pre> di viewnya <pre> {{ $data->pivot->worker_id }} {{-- {{ $data->pivot->nama_kolom }} --}} </pre> semoga berhasil
sudah bang di model saya buat seperti ini <pre> public function results(){ return $this->belongsToMany('App\Result')->withPivot('result_id', 'worker_id');
} </pre> , 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)
tinggal tambahin aja kolom namenya <pre> public function results(){ return $this->belongsToMany('App\Result')->withPivot('result_id', 'worker_id','name');
} </pre>
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 '>
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
di resultnya bang @bosque , ini di model tak tambahin seperti ini bang : <pre> public function results(){ return $this->belongsToMany('App\Result')->withPivot('result_id', 'worker_id', 'nama');
} </pre> , kemudian di bagian view tak tampilin seperti ini bang
<pre> <td> :
@foreach($results-&gt;workers as $data)
&lt;li&gt;
@php
// dd($data); die();
@endphp
{{-- {{ $data-&gt;pivot-&gt;worker_id }} --}}
{{ $data-&gt;pivot-&gt;nama }}
&lt;/li&gt;
@endforeach
&lt;/td&gt; </pre> tapi hasilnya kosong bang seperti ini <a href='https://imgur.com/a/duV8bGw '>https://imgur.com/a/duV8bGw </a>
table pivot hanya seperti ini bang <a href=' https://imgur.com/a/juDh6M2 '> https://imgur.com/a/juDh6M2 </a>
oh, coba ini di tabel resultnya <pre> public function workers(){ return $this->belongsToMany('App\Worker')->withPivot('worker_id', 'nama');
} </pre>
sudah tak rubah seperti ini bang <pre> // public function workers(){
// return $this-&gt;belongsToMany('App\Worker')
// -&gt;withPivot('result_id', 'worker_id');
// }
public function workers(){
return $this-&gt;belongsToMany('App\Worker')-&gt;withPivot('worker_id', 'nama');
}
</pre> tapi eror begini bang @bosque <a href='https://imgur.com/x5jJqT6 '>https://imgur.com/x5jJqT6 </a>
errornya apa, link gambarnya ndak bisa dibuka
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> <th scope="col">Karyawan Kinarya</th> <td> :
@foreach($results-&gt;workers as $data)
&lt;li&gt;
{{ $data-&gt;nama }}
&lt;/li&gt;
@endforeach
</td> </pre>
@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->belongsToMany('App\Result')->withPivot('result_id', 'worker_id', 'nama');
}
public function workers(){
return $this-&gt;belongsToMany('App\Worker')-&gt;withPivot('worker_id', 'nama');
} </pre>
@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
sudah kak sudah bisa , terimakasih kak @rollo dan bang @bosque atas pencerahaannya
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><tr>
<th> Penanggung jawab</th>
<td> : {{$results->worker->nama}}</td>
</tr>
<tr>
<th scope="col">Driver </th>
<td> : {{$results->driver}} </td>
{{-- <td> : {{$results->worker->nama}} </td> --}}
</tr> </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> <tr>
<th scope="col">Driver </th>
{{-- <td> : {{$results->driver}} </td> --}}
<td> : {{$results->worker->nama}} </td>
</tr> </pre> hasilnya nama akan sama dengan penanggung jawab, padahal id masing2 berbeda