【问题标题】:Laravel 4: Nest view inside layout with dataLaravel 4:在布局内嵌套视图和数据
【发布时间】:2013-07-07 04:44:34
【问题描述】:

我正在编写一个简单的应用程序,它只依赖于一些路线和视图。我已经设置了一个整体布局并使用以下内容成功嵌套了一个模板。

routes.php

View::name('layouts.master', 'master');
$layout = View::of('master');

Route::get('/users', function() use ($layout)
{
    $users = Users::all()
    return $layout->nest('content','list-template');
});

ma​​ster.blade.php

<h1>Template</h1>
<?=$content?>

list-template.php

foreach($users as $user) {
   echo $user->title;
}

如何将查询结果 $users 传递到我的主模板,然后传递到 list-temple.php?

谢谢

【问题讨论】:

    标签: php laravel laravel-4 laravel-routing


    【解决方案1】:

    -&gt;nest 允许数据数组的第三个参数:

       Route::get('/users', function() use ($layout)
        {
            $users = Users::all()
            return $layout->nest('content','list-template', array('users' => $users));
        });
    

    也在您的 master.blade.php 文件中 - 将其更改为:

    <h1>Template</h1>
    @yield('content')
    

    list-template.blade.php

    @extends('layouts.master')
    
    @section('content')
    <?php
      foreach($users as $user) {
         echo $user->title;
       }
    ?>
    @stop
    

    【讨论】:

    • 非常感谢。但是我现在有以下错误。 “传递给 Illuminate\View\View::nest() 的参数 3 必须是数组类型,给定对象。在 routes.php 中调用”
    • 我已经编辑它以将数组作为第三个参数而不是对象传递,这应该可以解决该错误
    • 实际上编辑需要同行评审。您可以在nest() 方法的第三个参数中将$users 更改为array('users' =&gt; $users)return $layout-&gt;nest('content','list-template', array('users' =&gt; $users));
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    相关资源
    最近更新 更多