ErrorException(E_ERROR)试图获取非对象的属性'slider_img'

时间:2019-09-01 07:48:26

标签: laravel

i got this error when i want to show a single project details in view ErrorException (E_ERROR) Trying to get property 'slider_img' of non-object

  

路线

 Route::get('project/{id}', 'HomeController@project')->name('project');
  

查看单个项目

    @extends('welcome')
@section('content')

         @foreach($projects as $project)
                        <div class="img-thumbnail border-0 border-radius-0 p-0 d-block">
                            <img src="{{ \Voyager::image( $project->slider_img  ) }}" class="img-fluid border-radius-0" alt="">
                        </div>
                    </div>
                    @endforeach

@endsection

  

这是我的控制器功能

2 个答案:

答案 0 :(得分:0)

更改您的控制器功能,例如-:

公共职能项目($ id){  $ project = Project :: find($ id); //插入的项目使用project,因为您只会得到一个项目  如果(空($ project)){   session()-> flash('错误','未找到项目');   返回redirect('/'); } return view('frontend.projects.singleproject',compact('project'));   }

然后在视图文件中执行类似的操作

@extends('欢迎') @section('content')

{{$$ project-> slider_img}}

对于单个项目,无需为每个项目使用

答案 1 :(得分:0)

您将返回单个对象。因此,您无需对其进行迭代。删除foreach循环。就像下面这样写代码

<div class="img-thumbnail border-0 border-radius-0 p-0 d-block">
    <img src="{{ \Voyager::image( $projects->slider_img  ) }}" class="img-fluid border-radius-0" alt="">
</div>