Php Laravel:尝试获取非对象的属性
我对laravel有问题,在我的本地主机上一切都很好,但在我的共享主机上,我遇到的问题甚至是相同的php版本 例如: 我想使用$answer->question->title获取问题标题,但在尝试获取非对象的属性时出错(View:/new/resources/views/users/show.blade.php) 但是这个项目在我的本地主机上运行得很好 控制器:Php Laravel:尝试获取非对象的属性,php,laravel,get,Php,Laravel,Get,我对laravel有问题,在我的本地主机上一切都很好,但在我的共享主机上,我遇到的问题甚至是相同的php版本 例如: 我想使用$answer->question->title获取问题标题,但在尝试获取非对象的属性时出错(View:/new/resources/views/users/show.blade.php) 但是这个项目在我的本地主机上运行得很好 控制器: public function show($id) { $user = User::find($id);
public function show($id)
{
$user = User::find($id);
$answers = \App\Answer::where('user_id','=',$user->id)
->with(['survey'])
->get();
$survey = \App\Survey::pluck('title', 'id')->toArray();
$question = \App\Question::pluck('title', 'id')->toArray();
return view('users.show', compact('user','survey','answers','question'));
}
视图刀片:
<table class="table">
<thead class="thead-light">
<tr>
<th>{{ __('Question') }}</th>
<th>{{ __('Answers') }}</th>
<th>{{ __('Creation Date') }}</th>
</tr>
</thead>
<tbody>
@foreach($answers as $t)
<tr>
<td> {{ $t->question->id }} </td>
<td> {{ $t->answer }} </td>
<td> {{$t->created_at}} </td>
</tr>
@endforeach
</tbody>
</table>
{{{(“问题”)}
{{{{('Answers')}
{{{(“创建日期”)}
@foreach($t)
{{$t->question->id}
{{$t->answer}
{{$t->created_at}
@endforeach
在我的本地主机中工作正常,但在共享主机中我得到了:
错误异常(E_错误)
尝试获取非对象的属性(视图:/new/resources/views/users/show.blade.php)
以前的例外情况
正在尝试获取非对象(0)的属性
您能帮我解决这个问题吗?您的查询返回数组。如果将其转储,您可能会发现它是一个数组,您所需要的只是数组访问
([])
,而不是对象访问(>)。
尝试这样调用它:
$article->question['title']
希望有帮助 你检查过确保所有的模型都上传了吗?是的,我检查过了,我检查了其他页面,所有的都只在这个页面上运行,我清理了缓存我尝试了
{{{$t->question}
我得到了包含标题id的数组。。。但是当我尝试{{$t->question->title}}
时,我遇到了第一个错误,你能给我举个例子吗?$article->question['id']
像这样