未定义的属性:Illuminate \ Database \ Eloquent \ Collection :: $ id

时间:2015-12-01 12:12:16

标签: php laravel foreach laravel-5 laravel-5.1

我不确切地知道为什么我会收到标题所示的错误。我正在尝试编写代码来删除记录。这是下面的代码。

<TABLE >
            @foreach($users as $user)
                <TR><TD>{{ $user->id }}</TD><TD>{{ $user->firstname }}</TD><TD><div id="divContainer"><div class="theDiv"><form action="/users/{{ $users->id }}" method="POST"> {{ csrf_field() }} {{ method_field('DELETE') }}<button class="css-deletebutton">DELETE</button></form></div></div></TD><TD>{!! Form::submit('DEACTIVATE', ['class'=>'css-statusbutton']) !!}</TD></TR>
            @endforeach

            <!--{!! $users->render() !!}-->
    </TABLE>

这是路线:

Route::resource('users', 'UserController');

这是控制器方法:

public function show($id)
    {
        $users = User::find($id);
        return view('userpages.show')->with('users', $users);
    }

这是删除任何记录时显示的视图。

@section('body')
    {!! Form::open([ 'method' => 'delete', 'route' => ['users.destroy', $users->id]]) !!}
    <TABLE>
        <TR><TD>{{ $users->firstname }}</TD><TD>{{ $users->lastname }}</TD><TD>{{ $users->email }}</TD><TD>{{ $users->username }}</TD><TD>{!! Form::submit('DELETE', ['class'=>'css-deletebutton']) !!}</TD></TR>
    </TABLE>
    {!! Form::close() !!}
    @stop

这是我收到的错误消息:

ErrorException in acf1a7ad2174bd2b743200b1a50b4c9f line 14:
Undefined property: Illuminate\Database\Eloquent\Collection::$id (View: C:\Users\ken4ward\Documents\xampp\htdocs\schoolproject\resources\views\userpages\index.blade.php)

1 个答案:

答案 0 :(得分:1)

我可以看到您在第一个代码段中的 foreach 循环中指的是 $ users-&gt; id - 这是什么&#39; s导致你得到的错误。 $ users 是保存集合的变量, $ user 是您应该用来访问用户数据的变量,包括用户的ID。