【发布时间】:2018-02-12 15:31:57
【问题描述】:
我正在向 Laravel 视图发送数据,其中一个对象可能不存在,因为它没有从数据库中获得任何结果。
问题是我收到错误Trying to get property of non-object,我不知道如何检查对象是否直接存在于视图中。
这里有一些代码可以理解:
$segment = $request->segment(2);
$apk = Apk::where('slug', '=', $segment)->first();
$cat = Category::where('id', $apk->category_id)->first();
$parentcat = Category::where('id', $cat->parent)->first();
$related = Apk::where('category_id', $cat->id)
->where('id', '!=', $apk->id)
->orderBy('id', 'desc')
->get();
return view('single')->with('apk', $apk)->with('related', $related)->with('cat', $cat)->with('parentcat', $parentcat);
还有观点:
@foreach ($related as $rel)
<div class="item">
<a href="{{ url('/apk/'.$rel->slug)}}">{{ $rel->name.' '.$rel->version }}</a>
</div>
@endforeach
$related 可能为空,这似乎会导致问题。
有什么建议吗?
【问题讨论】:
-
你能用代码编辑你的问题吗?
-
@User 我已经添加了,希望你能从中理解我的问题。
-
尝试像这样在控制器中返回 $related。
-
评论这一行 return view('single')...
-
你能粘贴你得到的确切错误吗,它应该告诉你你试图获取哪个对象的属性?这可能来自 $apk、$cat 或 $parentcat。需要正确的错误才能提供帮助。
标签: php laravel laravel-5 laravel-5.1