Raw query ke eager loading

Halo,

Saya mau bertanya soal Eager Loading nih. Saya punya dua tabel, tabel siklus dan tabel standar. Isi Tabel Siklus -> ID, NamaSiklus Isi Tabel Standar -> ID, IDSiklus, NamaStandar, Keterangan

Saya ingin menampilkan NamaSiklus, NamaStandar, dan Keterangan. Pertama saya coba menggunakan RAW Query.

$find = DB::table('standar')
    ->join('siklus', 'standar.idSiklus', '=', 'siklus.id')
    ->select('siklus.namasiklus', 'standar.namastandar', 'standar.keterangan')
    ->where('siklus.id', '=', 1)
    ->get();

dan berhasil. Tetapi ketika saya coba menggunakan Eager Loading, kolom namasiklus tidak terselect.

$find = Isi::with(['siklus' => function ($query) {
    $query->select('nama');
    }])->get();

Untuk RAW Query diatas menjadi Eager Loading penulisannya seperti bagaimana ya ? Mohon bantuannya dan terima kasih.

avatar Anpuneb
@Anpuneb

5 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Tanggapan

Model relasinya sudah dibuat atau belum?

1 Jawaban:

ini relasi di modelnya mas bosque.

Pada Model Standar

<pre> public function Siklus(){ return $this-&gt;belongsTo('App\Siklus', 'idSiklus', 'id'); } </pre>

Pada Model Siklus

<pre> public function Isi(){ return $this-&gt;hasMany('App\Isi', 'id', 'idSiklus'); } </pre>

avatar Anpuneb
@Anpuneb

5 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban