关系没有;在Blade视图中不起作用,但在控制器中起作用


Relationship doesn't work in Blade view but it does in the controller

我有以下一段代码

public function index()
    {
        //
        $leerlingen = DB::table('leerling')->get();
        $leerling = Admin_Leerling::find(1);
        dd($leerling->klas->title);
        return View::make('leerling.index',compact('leerlingen'));
    }

正如你所看到的,我正试图在我的控制器中获得我的Klas的标题。这是有效的,我得到了正确的值。但是,当我删除dd($leerling->klas->title);并尝试做同样的事情时,但在我的index.blade.php中,我遇到了一个错误。

@if(count($leerlingen))
                               @foreach($leerlingen as $leerling)
                                <tr>
                                    <td>{{{ $leerling->id }}}</td>
                                    <td>{{{ $leerling->voornaamLeerling . ' ' . $leerling->achternaamLeerling }}}</td>
                                    <td>{{{  $leerling->klas->title }}}</td>
                                    <td>
                                        <a href="{{ URL::route('admin.leerling.edit',$leerling->id) }} "> <button class="btn btn-blue">Wijzig</button></a>
                                        <a href="#" data-rel="dialog" data-dialog-text="Weet u zeker dat u deze leerling wilt verwijderen?" data-dialog-url="{{ URL::to('admin/leerling/delete',array($leerling->id)) }}"><button  class="btn btn-red">Verwijderen</button></a>
                                        @if($leerling->active == 1)
                                            <a href="{{ URL::to('admin/leerling/activate',array($leerling->id)) }}">  <button class="btn btn-green">Actief</button> </a>
                                        @else
                                        <a  href="{{ URL::to('admin/leerling/activate',array($leerling->id)) }}">   <button  class="btn btn-red"> Niet Actief</button></a>
                                        @endif
                                    </td>
                                </tr>
                               @endforeach
                        @endif

有人能帮我吗?

谢谢!

您可能应该在控制器中使用:

$leerlingen = Admin_Leerling::get();

或其他模型名称来获取数据,如果您使用查询生成器(DB::table('leerling')->get();)获取数据,则它不是Eloquent对象,因此关系将不起作用

要获得$lijst,可以执行

   $lijst =Admin_Klas::find($id)->leerlingen;

没有()来获得关系,并在视图中循环$lijst

   @foreach( $lijst as $li ) {{$li->name}} @endforeach