mengambil nilai field dari foreign key Laravel 5.5

jadi saya punya index tabel yang nampilin seluruh data surat

saya ingin menampilkan nama karyawan di field ketua pelaksana tugas berdasarkan id tersbut

berikut source kode controller :

ini model surat :

ini model karyawan:

terima kasih telah membantu

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Diperbarui 5 tahun yang lalu

25 Jawaban:

pada model Surat, buat fungsi berikut :


 public function karyawan()
    {
        return $this->belongsTo('App\Karyawan');
    }

Sehinggka ketika di view tinggal $var->karyawan->fieldnya

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

masih blum bisa gan

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

relationshipnya apa ya mas kalo boleh tau? selain nambah method di Surat, tambahin juga mas method di class Karyawan, sesuai dengan relationship nya.

avatar Yurichandra
@Yurichandra

41 Kontribusi 9 Poin

Dipost 5 tahun yang lalu

coba lihat controllernya sama modelnya (yg telah diperbarui)

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

controller [img]https://2.bp.blogspot.com/-209tRkQGPWM/Ww1TWTbbsSI/AAAAAAAAAic/lxyYjji_CUsbh3xHjrgboOuoAisOfe52ACLcBGAs/s320/baru.JPG[/img]

model surat

model karyawan

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Karena mas pake method get(), laravel bakal return collection mas, nah buat nampilin di view nya, bisa pake foreach buat ngeluarin datanya dari collection.


  @foreach($d as $surat)
     {{ $surat->karyawan->nama }}
  @endforeach

Semoga membantu

avatar Yurichandra
@Yurichandra

41 Kontribusi 9 Poin

Dipost 5 tahun yang lalu

ohh gitu ya mas, kalau pakek get();

tpi kok masih gak bisa ya mas nih pesan errornya "Trying to get property 'nama' of non-object (View: C:\xampp\htdocs\gentella lagi\laravel-gentelella-master\resources\views\surat\index.blade.php)"

mohon bntuannya mas, udah dari pagi ampe skg ana kagk ketmu ni maslahnya?

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Coba ditampilin nya dengan $surat->karyawan['nama']

Sumber : https://stackoverflow.com/questions/32469542/trying-to-get-property-of-non-object-laravel-5/32469779

avatar Yurichandra
@Yurichandra

41 Kontribusi 9 Poin

Dipost 5 tahun yang lalu

gak error gan, tpi malah gak muncul namanya

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

coba dd variablenya gan, nanti lihat isinya ada karyawan apa tidak

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

tidak ada gan

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

di #relations: array:1 [▼ "karyawan" => null

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

tapi di database ada?

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

ada kok,

sblum dibuat relasi, mustinyo harus di buat foreign key nya dlu kan?

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Kalo saya liat screenshotnya, di kelas Surat, mas pake use App\Karyawan. Sementara mas udah di namespace App yang isinya udah ada model Karyawan. Mungkin itu mempengaruhi mas.

avatar Yurichandra
@Yurichandra

41 Kontribusi 9 Poin

Dipost 5 tahun yang lalu

Iya, namun klo ga dibuat foreign key juga, selama data ada tetap masuk

Untuk fk karyawan yg disurat kolumnya karyawan_id kan?

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

@Yurichandra, mksdnya hpus use App\Surat;

@IamAN, bukan mas, ane custom fk nya? terus ngehandle nya dmna?

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Subhanallah, Alhamdulillah smga berkah dah ilmunya, mksh suhu2

di karyawan di ksh parameter custom fk nya public function karyawan(){ return $this->belongsTo('App\Karyawan', 'id_tandatangan', 'id'); }

gara2 fk nya ana custom, mustinyo tmbhin kek gini jadi bisa

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Ternyata seperti yang saya fikirkan, baguslah kalau sudah bisa

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

mau tanya lagi suhu2, jadi di modelnya kan cman 1 method tu, nah maksd saya mau nambhin 1 lagi, dengan menambah properti with nya, kira2 bisa gak ya,

awal kek gini........ Surat::with('karyawan')

mau ana tmbah kek gini, Surat::with('karyawanKondisiA', 'karyawanKondisiB') tentunya sdh dibuatkan method bru.

terima kasih para suhu

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Maksudnya mau ngerelasikan dengan 2 model? atau mau buat condition?

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

di model yang sama, tpi kondisi nya di field lain, bukan id_tandatangan

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

bisa pake where("field","value")

avatar codingforbabies
@codingforbabies

159 Kontribusi 53 Poin

Dipost 5 tahun yang lalu

ok mksh banyak suhu

avatar EkoMuliyo
@EkoMuliyo

22 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Kayanya hanya kurang field "karyawan_id" (Foreign key ke karyawan) pada tabel surat

avatar r4llproject
@r4llproject

8 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban