无法使用传递的数据填充表格

时间:2016-12-15 09:34:13

标签: php laravel eloquent blade

我有这样的路线:

Route::get('/userlist', function () {
    $users = User::where('owner_id',Auth::user()->owner_id)->orderBy('created_at','desc');
    return View::make('auth.forms.userlist')->with('user',$users);
});

这是应该填写的表格:

...{{$i = 1}}
@foreach($user as $users)
    <tr>
        <td>{{ $i }}</td>
        <td>{{$users->salutation}}</td>
        <td>{{$users->name}}</td>
        <td>{{$users->surname}}</td>
        <td>{{$users->email}}</td>
        @if($users->role=="owner")
            <td><input type="checkbox" name="role" checke="1" disabled></td>
        @elseif($users->role == "admin")
            <td><input type="checkbox" name="role" checked="1"></td>
        @else
            <td><input type="checkbox" name="role"></td>
        @endif
        @if($users->role=="owner")
            <td><input type="checkbox" name="release" checked="1" disabled></td>
        @elseif($users->active == true)
            <td><input type="checkbox" name="release" checked="1"></td>
        @else
            <td><input type="checkbox" name="release"></td>
        @endif
            <td><input type="checkbox"></td>
            </tr>
            {{$i++}}
        @endforeach...

表加载,我没有错误。我只是得到一张空桌子。有任何想法吗?我做错了什么?

2 个答案:

答案 0 :(得分:3)

应为@foreach($users as $user)

如果你得到空表,$users集合是空的,因为这段代码找不到任何用户,它会返回Query Builder:

$users = User::where('owner_id',Auth::user()->owner_id)->orderBy('created_at','desc');

您需要使用其中一种方法来获取集合,对象或某些值:->first()->get()->count()->paginate()等等。

您可以在控制器中使用dd($users);子句或在视图中使用{{ dd($users) }}检查结果。

答案 1 :(得分:1)

你必须在最后使用函数get()来检索数据。

$users = User::where('owner_id',Auth::user()->owner_id)->orderBy('created_at','desc')->get();