Laravel 2 Tablodan veri çekme
Merhaba,
Laravel'de iki tablodan veri çekmek için join işlemi kullanabilirsiniz. İki sütun için for döngüsüne gerek yok, bunun yerine foreach döngüsü kullanabilirsiniz.
Örneğin, Tablo1
ve Tablo2
adında iki tablonuz var ve her iki tabloda da id
sütunu varsa, aşağıdaki gibi bir sorgu ile verileri çekebilirsiniz:
$veriler = DB::table('Tablo1')
->join('Tablo2', 'Tablo1.id', '=', 'Tablo2.id')
->select('Tablo1.*', 'Tablo2.*')
->where('Tablo1.id', $id)
->get();
Bu sorgu, Tablo1
ve Tablo2
tablolarını id
sütunu üzerinden birleştirir ve id
koşuluna göre verileri filtreler. $id
değişkeni, verilerin çekileceği id
değerini temsil eder.
Verileri ekrana yazdırmak için foreach
döngüsü kullanabilirsiniz:
foreach ($veriler as $veri) {
echo $veri->sütun_adı;
}
Burada sütun_adı
yerine, çekmek istediğiniz sütunların adını yazmanız gerekiyor.
Umarım bu yardımcı olmuştur. Başka bir sorunuz varsa lütfen sormaktan çekinmeyin.
Üç tablo birleştirme işlemi için de aynı mantığı kullanabilirsiniz. Örneğin, Tablo1
, Tablo2
ve Tablo3
adında üç tablonuz var ve her bir tabloda id
sütunu varsa, aşağıdaki gibi bir sorgu ile verileri çekebilirsiniz:
$veriler = DB::table('Tablo1')
->join('Tablo2', 'Tablo1.id', '=', 'Tablo2.id')
->join('Tablo3', 'Tablo2.id', '=', 'Tablo3.id')
->select('Tablo1.*', 'Tablo2.*', 'Tablo3.*')
->where('Tablo1.id', $id)
->get();
Bu sorgu, Tablo1
, Tablo2
ve Tablo3
tablolarını id
sütunları üzerinden birleştirir ve id
koşuluna göre verileri filtreler. $id
değişkeni, verilerin çekileceği id
değerini temsil eder.
Verileri JSON formatında çıkış olarak almak için json_encode
fonksiyonunu kullanabilirsiniz:
$json = json_encode($veriler);
echo $json;
Bu kod, $veriler
değişkenindeki verileri JSON formatına dönüştürür ve ekrana yazdırır.