Postingan lainnya
laravel join dan outputnya [ laravel whereHas relation ]
permisi minta bantuannya master,
//saya punya table artikel id title 1 pertama
//table gambar id img artikel_id 1 satu.jpg 1 2 dua.jpg 1 3 tiga.jpg 1
$datas = DB::table('artikel')->join('gambar', 'artikel.id', '=', 'gambar.artikel_id')
->select('artikel. * ' , 'gambar. * ')->get();
bagaimana cara saya mengeluarkan artikel pertama dan tiga gambar tersebut ? //saya pakai ini
@foreach($datas as $data)
{{$data->title}}
{{$data->img}}
@endforeach
dan hasilnya title muncul tiga kali. pertama satu.jpg pertama dua.jpg pertama tiga.jpg
saya mau hasilnya seperti ini
pertama
satu.jpg dua.jpg tiga.jpg
//sebelumnya saya sudah bisa mengeluarkan output nya dengan relation. //tapi saya masih bingung jika dengan joinnya gan Terimakasih
8 Jawaban:
kalo memang nampilinnya sudah berhasil dan cuma masalah gruping by title aja, coba gini, buat contoh siapa tau sama ama yang di maksud
// FOREACH DATA
$data = array(
array('pertama', 'satu.jpg'),
array('pertama', 'dua.jpg'),
array('pertama', 'tiga.jpg'),
array('kedua', 'empat.jpg'),
array('kedua', 'lima.jpg'),
array('kedua', 'enam.jpg'),
);
$header = '';
foreach ($data as $row) {
if($row[0] != $header){
$header = $row[0];
echo "<br>".$row[0]."<br>";
}
echo $row[1]."<br>";
}
nanti hasilnya gini :
pas banget gan, ane juga lagi nyari yang kaya beginian, @gunalirezqimauludi, bisa dijelaskan tidak pseudo-code nya gan, soalnya masih belum paham please gan.,
itu cuma looping data, dan buat variable penampung, jadi kodisi awal header nya null/kosong
proses looping, saat looping cek header == row[0] / 'pertama' ga? , ooh engga karna header nya itu null ga sama dengan 'pertama' maka, header nya di inisiasikan / di set value nya dengan value 'pertama', lalu tampilkan 'echo pertama', lalu diluar if itu tampilkan.. $row[1] alias namagambar.jpg nya, nah saat looping ke 2 itu di cocokin lagi header sama dengan 'pertama' ga value nya? karna tadi header udh di set value nya 'pertama' maka yah $header == $row[0] sama dengan 'pertama' == 'pertama', maka true jadi di skip.. cetaknya gambarnya aja tanpa header..
semoga ngerti yang dimaksud, kurang bisa jelasinnya.. hahaha
sebelumnya saya coba di group by tittle yg keluar gambarnya cuma satu. ok gan nanti di coba. thankz ya...
gax bisa brow, bingun / susah di implementasikan dengan join....
masalah dengan join nya gmna? bukannya joinnya udah? yang hasil joinnya jadi
pertama satu.jpg pertama dua.jpg pertama tiga.jpg
Jawaban Terpilih
nah iya gan, tapi code tadi masih bingung saya implement di laravel nya, sekarang udah jadi pake ini ,,, masih pake relation lagi.
$artikel = Artikel::whereHas('gambar',//relation hasMany di model Artikel
function ($query) {
$query->where('artikel_id', '!=', null);
})->paginate(3);
sebenernya magsud saya, hanya memunculkan artikel yang mempunyai gambar gan,,, dan saya coba pakai join, soalnya saya cari2 where di relation belum nemu2...