当我打印其他人发送给他的登录用户的消息时,会发生错误。我在我的控制器和我的视图中都做了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)
答案 0 :(得分:0)
也许在你的foreach $ thread 是一个数组()所以像使用它一样使用它
$thread['id'], $thread['subject']