2017-09-26 4 views
0

Ich bin neu auf Laravel und ich war an diesem Problem stecken, wo ich nicht alle Daten aus Beziehungstabelle bekommen,wie alle Daten von 4 Beziehungstabelle erhalten in Laravel 5.5

Das ist mein ERD: this my ERD database

Das ist mein Krs.php Modell:

protected $fillable = ['nim','nip','kode_mk','absen','uts','uas']; 
protected $table = 'krs'; 

public function mahasiswa(){ 
    return $this->hasMany('App\Mahasiswa'); 
} 

public function dosen(){ 
    return $this->hasMany('App\Dosen'); 
} 

public function makul(){ 
    return $this->hasMany('App\Matakuliah'); 
} 

Das ist mein Matakuliah.php Modell:

protected $fillable = ['kode_mk','makul','sks']; 
protected $table = 'mata_kuliah'; 

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

Das ist mein Dosen.php Modell:

protected $fillable =['nip','nama','jeniskelamin','alamat','notlp']; 
protected $table='dosen'; 

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

Das ist mein Mahasiswa.php Modell:

protected $fillable = ['nim','nama','alamat','jenis_kelamin','no_tlp','email','tempat','tanggal','link','id_jurusan']; 
protected $table = 'mahasiswa'; 

public function jurusan(){ 
    return $this->hasOne('App\Jurusan'); 
} 

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

und hier ist mein KrsController.php:

public function index() 
{ 
    $data = Krs::with(['mahasiswa','dosen','makul'])->first()->toArray(); 
    return view('Krs.krsIndex',compact('data')); 
} 

Wie bekomme ich alle Daten aus allen Tabellen? zum Beispiel möchte ich bekommen nama von mahasiswa? Ich weiß nicht, wie es zu tun ... Ich war versuchen und von der letzten Nacht die Suche aber noch nichts .. sorry ändern für mein schlechtes grammar.thanks vor

Edit 1 kann keine Daten von mata_kuliah erhalten Tabelle diese meine Klinge Syntax für den Druck der Daten

{{ $data['makul'] }} 

Antwort

0

mit mit() Funktion:

$client_profile = Client::where([['cid', '=', $cid], ['is_delete', '=', 0]])->with(['status', 'group_no', 'caseworker', 'clerk', 'active_attendants'])->first()->toArray(); 

unten ist mein Modell:

class Client extends Model { 
    public function status() { 
     return $this->hasOne('App\Models\Status', 'sid', 'status'); 
    } 

    public function group_no() { 
     return $this->hasOne('App\Models\ClientGroups', 'cgid', 'group_no'); 
    } 

    public function caseworker() { 
     return $this->hasOne('App\Models\Caseworker', 'cwid', 'caseworker_name'); 
    } 

    public function clerk() { 
     return $this->hasOne('App\Models\Supervisorsnurses', 'snid', 'clerk'); 
    } 

    public function active_attendants() { 
     return $this->hasMany('App\Models\AssociatedTask', 'cid'); 
    } 

    public function location() { 
     return $this->hasOne('App\Models\Locations', 'lid', 'location'); 
    } 
} 
+0

ich versuchen, diese '$ data = Krs :: mit ([ 'Mahasiswa', 'dosen', 'makul']) -> erste() -> toArray() ; Rückansicht ('Krs.krsIndex', kompakt ('Daten')); ' aber es funktioniert nicht und der Fehler sagen Spalten nicht gefunden und der Verbrauch RAM von PHP wird zu hoch, haben Sie eine Lösung? –

+0

Überprüfen Sie mein Modell, sobald Sie pk & Fremdschlüssel in Relation Funktion –

+0

senden, es ist besser und jetzt der Fehler sagen ** Versuch, die Eigenschaft von Nicht-Objekt **, Ich benutze '@foreach ($ Daten als $ data) {{$ data-> name @endforeach}} 'in index.blade.php ist das der richtige Weg um Daten zu drucken ?? –