Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查Laravel视图中是否存在对象_Php_Laravel_Laravel 5_Laravel 5.1 - Fatal编程技术网

Php 检查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

我将数据发送到一个Laravel视图,其中一个对象可能不存在,因为它不会从数据库获得任何结果

问题是,我在尝试获取非对象的属性时遇到错误
,我不知道如何检查该对象是否直接存在于视图中

下面是一些需要理解的代码:

$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的问题。谢谢!