Php 检查Laravel视图中是否存在对象
我将数据发送到一个Laravel视图,其中一个对象可能不存在,因为它不会从数据库获得任何结果 问题是,我在尝试获取非对象的属性时遇到错误Php 检查Laravel视图中是否存在对象,php,laravel,laravel-5,laravel-5.1,Php,Laravel,Laravel 5,Laravel 5.1,我将数据发送到一个Laravel视图,其中一个对象可能不存在,因为它不会从数据库获得任何结果 问题是,我在尝试获取非对象的属性时遇到错误,我不知道如何检查该对象是否直接存在于视图中 下面是一些需要理解的代码: $segment = $request->segment(2); $apk = Apk::where('slug', '=', $segment)->first(); $cat = Category::where('id', $apk->category_id)-&g
,我不知道如何检查该对象是否直接存在于视图中
下面是一些需要理解的代码:
$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
@foreach($rel相关)
@endforeach
$related
可能为空,这似乎是导致问题的原因
有什么建议吗?使用
@if($related)
//foreach.....
@endif
我认为控制器中的$related值为空
像这样试试
$related = Apk::where('category_id', $cat->id)
->orWhere('id', '!=', $apk->id)
->orderBy('id', 'desc')
->get();
return $related;
首先,如果$related值返回任何我们可以推送此对象查看的内容,请这样尝试
因此,首先检查是否有来自数据库的数据。这样检查:
if ( !empty ( $variable ) ) {
...
}
你能用代码编辑你的问题吗?@User我已经添加了它,我希望你能从中理解我的问题。在controller中尝试这样返回$related。注释这行返回视图('single')…你能粘贴你得到的确切错误吗,它应该告诉你你试图获取哪个对象的属性?这可能来自$apk、$cat或$parentcat。需要正确的错误才能提供帮助。当$related
为空时,它有时会起作用。有时当它不是空的时候,我会得到错误。我还完全删除了相关的
代码,但仍有错误,所以一定是其他原因。请尝试将$apk、$cat值放入return语句中。这是$cat和$parentcat的问题。谢谢!