【问题标题】:Undefined variable when sending data to a view in Laravel 5.8将数据发送到 Laravel 5.8 中的视图时未定义的变量
【发布时间】:2019-04-11 16:39:50
【问题描述】:

我有以下问题:我在写在父控制器SiteController.上的renderOutput方法中加载站点的主布局(视图)

protected function renderOutput(){
  $menu = $this->getMenu();
  $navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
  $this->vars = array();
  $this->vars = array_add($this->vars,'navigation', $navigation);

  return view($this->template)->with($this->vars);
}

而在index方法的子控制器IndexController中,我调用了这个方法。还有为了在index方法中显示section(section)滑块,我将$sliders变量传递给滑块模板的地址。

public function index(){
    //
    $sliders = view(env('THEME').".slider")->render();
    $this->vars = array();
    $this->vars = array_add($this->vars,'sliders',$sliders); 

    return $this->renderOutput();
}

但是当我在模板中使用这个变量时,我得到一个错误。也就是说,$sliders 变量在模板中不可用。请告诉我如何解决问题。提前谢谢!

未定义变量:滑块(查看:C:\Users\User\Downloads\Programs\OSPanel\domains\Corporate\resources\views\pink\index.blade.php)

【问题讨论】:

    标签: php laravel-5.8


    【解决方案1】:

    renderOutput() 中,您正在覆盖$this->vars,这就是它未定义的原因。

    用途:

    protected function renderOutput(){
      $menu = $this->getMenu();
      $navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
      $this->vars = array_add($this->vars,'navigation', $navigation);
    
      return view($this->template)->with($this->vars);
    }
    

    【讨论】:

      猜你喜欢
      • 2014-03-28
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 2017-09-03
      • 1970-01-01
      相关资源
      最近更新 更多