从函数发送数据到视图模板?
Sending data from function to view template?
我有一个看起来像这样的 blade 模板:
<div class="comment">
<div class="username"></div>
<div class="message"></div>
<div class="children">
</div>
</div>
我需要能够从函数调用此视图并将数据插入其中。
我有一个 class、Helpers.php
,其递归函数如下所示:
function getComments(array $comments)
{
foreach ($comments as $comment)
{
echo $comment;
if (!empty($comment->children))
{
getComments($comment->children);
}
}
}
这样做的目的是打印一条评论,然后检查该评论是否有任何 children 评论,如果有则递归。
如何修改我的 view/function 以便我可以将数据发送到视图,这样我最终会得到这样的结果:
<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>
谢谢!
您不必在这种特殊情况下使用函数。
要实现您的目标,请创建一个视图 comments.blade.php
。根据您的 Laravel 版本和设置,您可以将其放入 app/views
或 resources/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
然后呈现此视图并将您传递给 getComments()
函数的相同参数传递给您的 getComments()
函数。
这有望得到预期的结果。
祝你好运!
您可以通过 compact、with 和 session 三种方法将数据发送到您可以使用的函数中查看。 compact of with 方法,而您正在重定向加载任何视图,您可以使用 compact 或 ->with(array());
我有一个看起来像这样的 blade 模板:
<div class="comment">
<div class="username"></div>
<div class="message"></div>
<div class="children">
</div>
</div>
我需要能够从函数调用此视图并将数据插入其中。
我有一个 class、Helpers.php
,其递归函数如下所示:
function getComments(array $comments)
{
foreach ($comments as $comment)
{
echo $comment;
if (!empty($comment->children))
{
getComments($comment->children);
}
}
}
这样做的目的是打印一条评论,然后检查该评论是否有任何 children 评论,如果有则递归。
如何修改我的 view/function 以便我可以将数据发送到视图,这样我最终会得到这样的结果:
<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>
谢谢!
您不必在这种特殊情况下使用函数。
要实现您的目标,请创建一个视图 comments.blade.php
。根据您的 Laravel 版本和设置,您可以将其放入 app/views
或 resources/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
然后呈现此视图并将您传递给 getComments()
函数的相同参数传递给您的 getComments()
函数。
这有望得到预期的结果。
祝你好运!
您可以通过 compact、with 和 session 三种方法将数据发送到您可以使用的函数中查看。 compact of with 方法,而您正在重定向加载任何视图,您可以使用 compact 或 ->with(array());