如何修复“试图获取非对象的属性”Laravel 5

Posted

技术标签:

【中文标题】如何修复“试图获取非对象的属性”Laravel 5【英文标题】:How to fix "Trying to get property of non-object" Laravel 5 【发布时间】:2019-09-22 18:43:55 【问题描述】:

我想在简单的刀片中添加来自 DB 不同表的信息,但是当我从另一个表中添加变量时出现错误“试图获取非对象的属性”

这是我的控制器,我从 1 个表中输出数据,它在刀片中给了我一个结果,它一切正常。在我看来,我有 20 篇来自新闻的帖子。 (分页除外)

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\News;
use App\Forum;


class PagesController extends Controller

    public function index()



    $news = News::orderBy('date', 'DESC')->simplePaginate(20);

    return view ('lapas.pamata.index')->with('news', $news);

    /* ,[
        'news'->$news,
        'forum'-> $forum,
    ]); */




问题是当我想添加另一个表信息时。

控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\News;
use App\Forum;


class PagesController extends Controller

    public function index()


    $forum = Forum::orderBy('timestamp', 'desc')->get();
    $news = News::orderBy('date', 'DESC')->simplePaginate(20);
    return view ('lapas.pamata.index',[
        'news'->$news,
        'forum'-> $forum,
    ]);




和刀片文件:

@extends ('layouts.app')

@section('content')
@if (count($news) > 0)
    @foreach ($news as $new)
        <div class = "col-lg-1 col-md-0">
        </div>
        <div class ="col-lg-5 col-md-12  news-block">
            <div class ="col-12">
                !!$new->summary!!
            </div>
        $new->title
        </div>
    @endforeach
@endif

@endsection

现在它给了我这个错误http://prntscr.com/nkb88z

我需要从两个表中获取信息。

【问题讨论】:

【参考方案1】:

这个

return view ('lapas.pamata.index',[
        'news'->$news,
        'forum'-> $forum,
    ]);

应该是

return view ('lapas.pamata.index',[
        'news'=>$news,
        'forum'=> $forum,
    ]);

【讨论】:

以上是关于如何修复“试图获取非对象的属性”Laravel 5的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.6 - “试图获取非对象的属性”

Laravel 5.6 试图获取非对象的属性

试图在 laravel 5.4 上获取非对象错误的属性

laravel 试图获取非对象的属性

Laravel 问题-“试图获取非对象的属性”

Laravel:试图获取非对象的属性