如何在同一路径的laravel中的一个函数中返回多个视图

时间:2017-04-07 06:02:24

标签: php laravel blade laravel-routing

很难解释我的问题。我希望你能理解它。

对于我的项目,我有一个主布局,其中包含标题和内容的产量。

master.blade.php

 @include('partials.header')
    <div class="container-fluid main-con">
        @yield('content')
        @include('partials.footer')
    </div>  

现在在主要的公共路线上我正在捣乱一种方法。

Web.php

Route::get('/', [
    'uses' => 'ProductContoller@getIndex',
    'as' => 'product.mainCats'
]);

ProductContoller.php

class ProductContoller extends Controller
{

    public function getIndex(){
        $ad_cats = Mainaddtype::orderBy('title')->get();
        return view( 'shop.main-categories-page', ['mediacats' => $ad_cats]);
    }
}

现在我的查询是,'main-categories-page'在master的content部分中产生。但我也想在标题中使用Mainadtype的相同数据。所以我想在同一个函数上返回标题的视图。如果您理解,请帮忙。

我现在正在尝试的是,

 public function getIndex(){
        $ad_cats = Mainaddtype::orderBy('title')->get();
        return view( 'shop.main-categories-page', ['mediacats' => $ad_cats]);
        return view( 'partials.header', ['mediacats' => $ad_cats]);
    }

但我知道我们不能以这种方式回归。 提前致谢。

2 个答案:

答案 0 :(得分:3)

您也可以访问标题中的变量。只需检查变量是否存在,以便在加载其他视图时不会出现错误。

@if(!empty($mediacats))
   // do awesome stuffs with $mediacats
@endif

这样,当您在索引页面上时,您的数据就可用。

如果您希望数据在所有视图中都可用,则可以使用laravel view composer。来自官方文档:

  

视图作曲家是a时调用的回调或类方法   视图呈现。如果您有要绑定到视图的数据   每次渲染视图时,视图编辑器都可以帮助您进行组织   那个逻辑到一个单一的位置

希望它有所帮助。

答案 1 :(得分:0)

函数在获取第一个return语句时终止,并且在laravel中也无法返回两个视图,唯一可以做的就是在布局模板中包含视图。示例在模板中添加类别视图。

@if(showStore)
@include('store.category')
@endif