将数据关系传递给视图 laravel 5.2

Passing data relation to view laravel 5.2

我完成了在我的模型中建立关系,但我不知道将数据关系传递给视图,希望你能帮助我。

Model Siswa

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

Model Absen

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

缺席Table

西西瓦Table

AbsenController@index

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

问题是 $value->nama 没有显示在我的视图中,但我在 table siswa 和 table absen.Thank

中创建了关系

nama 不是 Absen class 的属性,但您的值是 Absen class。虽然你已经定义了 Absen 和 Siswa 之间的关系,但是 Siswa 的属性仍然没有直接继承给 Absens。可以先获得阿布森的西斯瓦,再获得西斯瓦的属性。

所以你要做的是:

调用 $value->Siswa->nama 而不是 $value->nama,你应该会显示你的 nama。