【问题标题】:Undefined property: Illuminate\Database\Eloquent\Collection::$id未定义属性:Illuminate\Database\Eloquent\Collection::$id
【发布时间】:2015-12-01 12:12:15
【问题描述】:

我不知道为什么会出现标题所示的此错误。我正在尝试编写删除记录的代码。这是下面的代码。

<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)

【问题讨论】:

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


    【解决方案1】:

    我可以看到您在第一个代码 sn-p 的 foreach 循环中指的是 $users->id - 这就是导致您遇到错误的原因. $users 是保存集合的变量,$user 是您应该用来访问用户数据(包括用户 ID)的变量。

    【讨论】:

    • 非常感谢。我已经重组了代码。非常感谢。
    猜你喜欢
    • 2016-06-02
    • 2014-11-23
    • 2017-02-12
    • 2016-07-08
    • 2017-03-05
    • 2018-11-19
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    相关资源
    最近更新 更多