Join mysql laravel

saya ada 2 tabel

yang ingin saya hasilkan adalah seperti ini

Jadi nama fakultas menjadi PARENT, sedangkan nama progdi menjadi CHILD dari tiap masing2 fakultas

Yang sudah saya lakukan : Saya sudah melakukan join query dan menggunakan subquery Contoh :

SELECT a.nama_fakultas,b.nama_progdie faculties FROM faculties AS a JOIN ( SELECT kode_fakultas,nama_progdie FROM progdi) AS b WHERE a.kode_fakultas=b.kode_fakultas

Namun outputnya tidak sesuai harapan

avatar kresnanoobs
@kresnanoobs

16 Kontribusi 1 Poin

Diperbarui 5 tahun yang lalu

6 Jawaban:

sundul gan. msh stuck

avatar kresnanoobs
@kresnanoobs

16 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

coba ini <pre> SELECT a.nama_fakultas, GROUP_CONCAT(b.nama_progdie) AS major FROM faculties a JOIN progdi b ON a.kode_fakultas=b.kode_fakultas GROUP BY a.nama_fakultas; </pre>

avatar kikimf
@kikimf

91 Kontribusi 78 Poin

Dipost 5 tahun yang lalu

lah kalo make laravel kan udah disediain relasi ????

avatar driyan
@driyan

193 Kontribusi 109 Poin

Dipost 5 tahun yang lalu

@hendri : iya gan mmng udah disediakan, cuman outputnya sesuai gambar yg diatas FTI | TI FTI | SI FH | Hukum Nasional FH | Hukum UITE

Ynag saya bingung, apakah memang main di query, atau di bagian perulangan?

avatar kresnanoobs
@kresnanoobs

16 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Tanggapan

kalo dari hasil query tersebut, memang hasilnya bakalan begitu

namanya juga join

@hendri : klo gitu untuk perulangannya gmn y supaya hasil sesuai ekspetasi

ini yang sudah saya coba

<pre> $datas = Faculty::select('nama_fakultas','kode_fakultas')-&gt;get(); $uni = array();

			foreach ($datas as $value) {
				$code = $value[&#039;kode_fakultas&#039;];

				$prod = Progdi::select(&#039;nama_progdie&#039;,&#039;akreditasi&#039;)
				-&amp;gt;where(&#039;kode_fakultas&#039;, &#039;=&#039;, $code)
				-&amp;gt;get();

				foreach ($prod as  $values) {
					$uni[] = $values; 
				}
			}

</pre>

cuma disini saya stuck untuk masukkin nama_fakultas ke dalam array jdi outputnya nanti

<pre> { data :[ fakultas :[ 'name' :'fti', 'progdi' : { 'nama_progdie' : 'ti', 'akreditasi' : 'a' } ] ] } </pre>

avatar kresnanoobs
@kresnanoobs

16 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

solved gan thanks bantuannya :)

avatar kresnanoobs
@kresnanoobs

16 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban