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

时间:2014-10-16 16:05:32

标签: php laravel eloquent blade

我有以下代码

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

有人可以帮我这个吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您应该在控制器中使用:

$leerlingen = Admin_Leerling::get();

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

答案 1 :(得分:0)

要获得$ lijst,你可以做到

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

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

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