laravel - 从函数发送数据到 View 模板?

标签 laravel laravel-4 laravel-5 laravel-blade

我有一个看起来像这样的 Blade 模板:

<div class="comment">
    <div class="username"></div>
    <div class="message"></div>
    <div class="children">

    </div>
</div>

我需要能够从函数调用此 View 并向其中插入数据。

我有一个类 Helpers.php,它的递归函数如下所示:

function getComments(array $comments)
{
    foreach ($comments as $comment)
    {
        echo $comment;

        if (!empty($comment->children))
        {
            getComments($comment->children);
        }
    }
}

这的目的是打印出一条评论,然后检查该评论是否有任何子评论,如果有则递归。

如何修改我的 View /函数,以便可以将数据发送到 View ,这样我最终会得到如下结果:

<div class="comment">
    <div class="username">Username1</div>
    <div class="message">Hello, world!</div>
    <div class="children">
        <div class="comment">
            <div class="username">Username1</div>
            <div class="message">Hello, world!</div>
            <div class="children">
                <div class="comment">
                    <div class="username">Username1</div>
                    <div class="message">Hello, world!</div>
                    <div class="children">

                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="comment">
    <div class="username">Username1</div>
    <div class="message">Hello, world!</div>
    <div class="children">

    </div>
</div>

谢谢!

最佳答案

在这种特殊情况下,您不必使用函数。

要实现您的目标,请创建一个 View comments.blade.php。根据您的 Laravel 版本和设置,您可以将其放入 app/viewsresources/views 目录中。

该文件的内容必须如下所示:

@foreach ($comments as $comment)
<div class="comment">
    <div class="username">{{ $comment->username }}</div>
    <div class="message">{{ $comment->message }}</div>
    <div class="children">
        @include('comments', ['comments' => $comment->children])
    </div>
</div>
@endforeach

然后渲染此 View 并将您传递给 getComments() 函数的相同参数传递给您。

这有望达到预期的结果。

祝你好运!

关于laravel - 从函数发送数据到 View 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31090850/

相关文章:

laravel - 在 Laravel 5 上检查邮件是否发送成功

php - 在 Laravel 5.4 包中扩展 View

laravel - laravel schema builder 中 json 字段类型的目的和实现

Laravel 4 处理 404 错误

php - 如果单词错误或拼写错误或希腊单词得到英语结果,我怎样才能得到结果

javascript - 如何通过ajax fetch API响应将从laravel Controller 接收到的数据发送到另一个页面

redirect - CORS 预检后 302 重定向

php - Laravel: `loadMissing` 函数的目的是什么?

Laravel 私有(private) channel 授权不起作用

Laravel - 创建和附加 - 多对多关系