在Laravel 5.1.4中,无法在所有视图中共享变量



我对Laravel很陌生。作为一名盲人程序员,我希望利用它来帮助我更好地提高编程技能、速度和准确性。但我正在手工学习,因为有些视频非常直观。此时,我正试图在所有视图中共享一个变量,并得到一个未定义的变量错误。

我将以下内容放在App\Http\Controllers\controller.php文件中:

public function __construct() {
$time = Carbon::now()->subMinute(5);
$users_online = User::where('last_active', '>', $time)
->where('last_active', '!=', '0000-00-00    00:00:00');
View::share('users_online', $users_online->count());
}

我用各种方式来称呼它,但似乎都不起作用。如有任何帮助,我们将不胜感激。

作为参考,我得到了一个变量未定义的错误。

您应该将AppServiceProvider中的所有全局视图变量放入boot()方法中。

例如:

public function boot()
{
    $time = Carbon::now()->subMinute(5);
    $users_online = User::where('last_active', '>', $time)
        ->where('last_active', '!=', '0000-00-00    00:00:00');
    View::share('users_online', $users_online->count());
    ...
}

最新更新