试图获得非对象Laravel 5.2

时间:2016-06-29 09:08:47

标签: php laravel laravel-5.2

当我打印其他人发送给他的登录用户的消息时,会发生错误。我在我的控制器和我的视图中都做了var_dump。我在视图中也{{$threads->count()}},它显示了27(线程数)。但是,当我访问视图文件时,它会抛出上述错误。

这是我的控制器代码

public function index()
{
    $currentUserId = Auth::user()->id;
    $threads = Thread::getAllLatest()->get();
    return view('chatindex', compact('threads', 'currentUserId'));
}

我还在视图中打印了currentUserId,它也可以正常使用

这是我的视图代码(发生错误的地方)

@extends('layouts.app')

@section('content')
   @if (Session::has('error_message'))
        <div class="alert alert-danger" role="alert">
            {!! Session::get('error_message') !!}
        </div>
    @endif
    @if($threads->count() > 0)
        @foreach($threads as $thread)
        <?php $class = $thread->isUnread($currentUserId) ? 'alert-info' : ''; ?>
        <div class="media alert {!!$class!!}">
            <h4 class="media-heading">{!! link_to('messages/' . $thread->id, $thread->subject) !!}</h4>
            <p>{!! $thread->latestMessage->body !!}</p>
            <p><small><strong>Creator:</strong> {!! $thread->creator()->name !!}</small></p>
            <p><small><strong>Participants:</strong> {!! $thread->participantsString(Auth::id()) !!}</small></p>
        </div>
        @endforeach
    @else
        <p>Sorry, no threads.</p>
    @endif
@stop 

它抛出错误试图获取非对象的属性(查看:C:\ xampp \ htdocs \ laravel-projects \ user_prof \ resources \ views \ chatindex.blade.php)

1 个答案:

答案 0 :(得分:0)

也许在你的foreach $ thread 是一个数组()所以像使用它一样使用它

 $thread['id'], $thread['subject']