2017-08-14 1 views
1

Je finis de faire la relation dans mon modèle, mais je ne sais pas pour passer la relation de données à voir, j'espère que vous pouvez m'aider.Passant la relation de données pour voir laravel 5.2

Modèle Siswa

public function Absen() 
{ 
    return $this->hasMany(Absen::class); 
} 

Modèle Absen

public function Siswa() 
{ 
    $this->belongsTo(Siswa::class); 
} 

Absen tabel

Absen Tableau

Siswa Table

Siswa Tableau

AbsenController @ indice

public function index() 
{ 

    $absen = Absen::where('level', '=', 'Siswa')->get(); 

    return view('absen.index')->with('data', $absen); 
} 

index.blade.php

@foreach($data as $index => $value) 
      <tr> 
       <td>{{ $index+1 }}</td> 
       <td>{{ $value->nama }}</td> 
       <td>{{ $value->keterangan }}</td> 
       <td> 
       {!! Form::open(['route' => ['siswa.destroy', $value->id], 
       'method' => 'DELETE']) !!} 
        {{ Form::submit('Hapus', ['class' => 'btn btn-danger']) }} 
        <a href="{{ route('siswa.edit', $value->id) }}" class="btn 
       btn-warning">Edit</a> 
       {!! Form::close() !!} 
       </td> 
      </tr> 
      @endforeach 

Le problème est la forte valeur> nama ne pas montrer $ à mon avis, mais je fait pour créer relation dans le tableau Siswa et une table absen.Thank

+0

Je pense qu'il y a une certaine confusion ici. Quelles données essayez-vous réellement d'afficher dans votre vue? Vous essayez d'accéder à '$ value-> nama', mais cette colonne n'existe pas sur le modèle' Absen' ?? – fubar

+0

$ value-> nama fait référence à la table Siswa @fubar –

+0

Je comprends cela. Mais dans votre contrôleur, vous interrogez la table Absen, pas la table Siswa, c'est pourquoi l'attribut est vide. Donc c'est votre erreur. – fubar

Répondre

3

nama est pas un attribut de classe Absen, mais votre valeur est un Classe Absen. Bien que vous ayez défini la relation entre Absen et Siswa, les attributs de Siswa ne sont pas encore hérités directement à Absens. Vous pouvez d'abord obtenir les Siswa de l'Absen et ensuite obtenir les attributs de la Siswa.

Donc ce que vous avez à faire est:

Appel $value->Siswa->nama au lieu de $value->nama, et vous devriez avoir votre nama affiché.

+0

remercie son travail –