传递数据关系以查看laravel 5.2

时间:2017-08-14 01:54:00

标签: php laravel blade

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

  

Model Siswa

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

模型Absen

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

Absen tabel

Absen表

Siswa Table

Siswa表

  

AbsenController @索引

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-&gt; nama在我的视图中没有显示,但我在表siswa和table absen中创建了关系。谢谢

1 个答案:

答案 0 :(得分:3)

nama不是Absen类的属性,但你的价值是Absen类。虽然你已经定义了Absen和Siswa之间的关系,但Siswa的属性仍未直接继承给Absens。你可以先获得Absen的Siswa,然后获得Siswa的属性。

所以你需要做的是:

致电group by而不是$value->Siswa->nama,您应该展示您的nama。