试图得到非对象。第一()。拉拉韦尔

时间:2020-09-17 10:16:05

标签: php laravel

Page Controller
$Sport_Post = \App\Post::All()->Where('category_id','=',3)->first();
$Sport_Posts = \App\Post::All()->Where('category_id','=',3)->skip(1);
return view('welcome', compact('Sport_Post','Sport_Posts'));
Code of page
                                            @forelse($Sport_Post as $post)
        <div  id="content-number-1" class="col-12 col-md-8 col-lg-8 home-post1 content-number-1">
            <div class=""><img class="content-one-img content-img-chapter" src="{{$post->image}}"></div>
            <div class="content-text-img p-3"><p><a class="m-0 underImage aTagsHover" style="font-size: 20px" href="/inside/{{$post->id}}">{{$post->title}}</a><br><span class="date-font"><i class="fa fa-clock-o" aria-hidden="true"></i>{{$post->created_at}}</span><span class="underBusiness"><br>{{$post->short_desc}}</span></p></div>
        </div>
        @empty
        <div  id="content-number-1" class="col-12 col-md-8 col-lg-8 home-post1 content-number-1">
            <div class="content-one-img content-img-chapter"></div>
            <div class="content-text-img p-3"><p><a class="m-0 underImage aTagsHover" style="font-size: 20px" href="#">No post</a><br><span class="date-font"><i class="fa fa-clock-o" aria-hidden="true"></i>No time</span><span class="underBusiness"><br>No post</span></p></div>
        </div>
        @endforelse

错误始于src =“ {{$ post-> image}}”>“>;怎么了 ?如何解决

2 个答案:

答案 0 :(得分:0)

按如下所示修改代码

在控制器中

$Sport_Post = \App\Post::Where('category_id','=',3)->first();

刀片文件中不需要for循环,因为$ Sport_Post是单个对象而不是集合,因此,请按以下方式修改刀片代码:

@if(isset($Sport_Post))
         <div  id="content-number-1" class="col-12 col-md-8 col-lg-8 home-post1 content-number-1">
            <div class=""><img class="content-one-img content-img-chapter" src="{{$Sport_Post->image}}"></div>
            <div class="content-text-img p-3"><p><a class="m-0 underImage aTagsHover" style="font-size: 20px" href="/inside/{{$Sport_Post->id}}">{{$Sport_Post->title}}</a><br><span class="date-font"><i class="fa fa-clock-o" aria-hidden="true"></i>{{$Sport_Post->created_at}}</span><span class="underBusiness"><br>{{$Sport_Post->short_desc}}</span></p></div>
        </div>
@else
        <div  id="content-number-1" class="col-12 col-md-8 col-lg-8 home-post1 content-number-1">
            <div class="content-one-img content-img-chapter"></div>
            <div class="content-text-img p-3"><p><a class="m-0 underImage aTagsHover" style="font-size: 20px" href="#">No post</a><br><span class="date-font"><i class="fa fa-clock-o" aria-hidden="true"></i>No time</span><span class="underBusiness"><br>No post</span></p></div>
        </div>
@endif

答案 1 :(得分:0)

不需要All()通过以下代码更改代码

$Sport_Post = \App\Post::Where('category_id','=',3)->first();

此查询将从数据库中提取一条记录,因此您不需要for each循环。

现在是否仍然收到错误Trying to get property of non-object 然后将$Sport_Post变量转换为object或尝试以array的形式访问该值

相关问题