【问题标题】:Pass data to the layout and partial views on Laravel 8将数据传递给 Laravel 8 上的布局和部分视图
【发布时间】:2021-05-07 14:17:49
【问题描述】:

我想将数据传递给布局,所以我在 AppServiceProvider.php 中的 boot() 函数中添加了一些脚本,如下所示:

public function boot()
{
    view()->composer('inc.top', function($view){
        
        $view->with('hosts_summary',Hosts::all());

    });
}

我想做很多计算和比较,所以我喜欢通过控制器工作,所以我这样做了:

view()->composer('inc.top', [TopController::class,'show']);

但是没用,我无法返回数据,很明显控制器内部的代码不正确。

我该怎么做?

【问题讨论】:

    标签: php laravel controller laravel-8


    【解决方案1】:

    根据官方文档:https://laravel.com/docs/8.x/views#view-composers

    你应该这样编码

    view()->composer('inc.top', TopController::class);
    

    你的控制器必须定义 compose() 方法

    class MyComposer
    {
      public function compose(View $view)
      {
        $view->with('count', $this->users->count());
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      相关资源
      最近更新 更多