Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 4,针对@include查看作曲家_Laravel_Laravel 4_Blade - Fatal编程技术网

Laravel 4,针对@include查看作曲家

Laravel 4,针对@include查看作曲家,laravel,laravel-4,blade,Laravel,Laravel 4,Blade,我注意到,如果我将第二个参数传递给@include,如下所示: @include('sidebars.pages', array('categories' => Category::all())) 然后,可以在视图中复制渲染部分的概念,并像在Rails中一样在部分中渲染部分 我还需要具有此功能的视图生成器吗 谢谢你的帮助 虽然这可能是可能的,但这不是@include的使用文档。当我这样做的时候,我会谨慎行事,而且就我个人而言,我不会在你的视野中给一个模型打电话。从路由或控制器绑定所需的数

我注意到,如果我将第二个参数传递给@include,如下所示:

@include('sidebars.pages', array('categories' => Category::all()))
然后,可以在视图中复制渲染部分的概念,并像在Rails中一样在部分中渲染部分

我还需要具有此功能的视图生成器吗


谢谢你的帮助

虽然这可能是可能的,但这不是
@include
的使用文档。当我这样做的时候,我会谨慎行事,而且就我个人而言,我不会在你的视野中给一个模型打电话。从路由或控制器绑定所需的数据。使用演示者执行任何演示逻辑,以保持视图绝对干净


@include
将所有当前定义的变量注入嵌套的局部视图。因此,如果您将所有类别绑定到父视图,然后使用
@include('sidebars.pages')
,则该视图也会将类别绑定到父视图。

尝试使用视图生成器将数据绑定到视图。最适合局部视图

// View Composer Example
View::composer(array('sidebars.pages'), function($view)
{
    $view->with('categories', Categories::all());

});

@include('sidebars.pages')

好的,谢谢你,刘易斯先生,我会和主持人一起玩并试一试。你好,view作曲家住在哪里?它可能在应用程序根目录中的composers.php文件中吗?我不知道他们是否必须住在控制器中,因为他们必须在任何地方都可以使用。你可以创建一个文件夹来存放你的视图生成器,并将其包含在start/global.php中,或者将其放在你的app/routes.php文件中。好的,莫盖图先生,我感谢你的回答和评论。如果需要将参数传递给视图生成器中的类方法,请告诉我会发生什么?例如
Blog\u model::recent($post->category->id,5)
你是如何通过url访问$post->category->id的?您使用的是L3还是L4?您可以尝试会话或缓存试图访问的变量,并在视图生成器中访问它们。