试图获得非对象的属性- Laravel 5.1


Trying to get property of non-object - Laravel 5.1

我尝试在laravel 5.1中创建一个简单的'active page'方法。不知怎的,我以前也这么做过,但这次就是行不通。我知道这很简单,因为我以前做过非常类似的事情,这让我很恼火,请帮助!

Code - PagesController

class PagesController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }
    public function home()
    {
        $active = [
            'home' => 'active',
            'tasks'=> ''
        ];
        return view('pages.home')->with('active', $active);
        }
    }

很简单,创建一个有两个值的数组,在视图中,我只使用这个

首页

<div class="{{ $active->home }}">Homepage</div>
<div class="{{ $active->tasks }}">Tasks</div>

基本上就是这样了。

误差

"试图获得非对象的属性"不知道为什么这么说,但我认为这与我制作数组的方式有关。. . ?感谢所有的帮助和反馈!

试图获得非对象的属性意味着你…$active是一个数组,所以你需要访问它的元素作为数组:

<div class="{{ $active['home'] }}">Homepage</div>
<div class="{{ $active['tasks'] }}">Tasks</div>

$active是一个数组,所以你需要把它作为一个数组来访问。

例如,要访问$active->home,您需要执行$active['home']

你好,你在数组内部传递数组,你必须使用dd(你的var来查看对象的组成)

return view('pages.home')->with($active);

然后访问{{$home}}