我有一个由用户数据组成的表。我创建了一个视图,在该视图中,我可以查看用户的姓名,并点击我希望查看该特定用户的详细信息的名称。你能指导我完成这个问题吗?这将是一个很大的帮助!
答案 0 :(得分:3)
如果要在多个视图之间共享变量,可以在外观上轻松使用share
方法。实际上,文档中有一节关于此:
https://laravel.com/docs/5.2/views#sharing-data-with-all-views
View::share('key', 'value');
如果您想要记住要在下一页显示的特定值,您可以随时使用会话来" flash"数据。该文档也有一篇关于此的文章:
https://laravel.com/docs/5.2/session#flash-data
请注意,您需要将这些会话数据重新注入视图,可能需要使用上面的"分享" View facade上的方法。
答案 1 :(得分:1)
根据您的提问,您的要求不明确 我特地回复了你的评论:
对吧。我有一个由用户数据组成的表。我创建了一个视图,在该视图中,我可以查看用户的姓名,并点击我希望查看用户详细信息的名称。你能指导我完成这个问题吗?这将是一个很大的帮助。
当用户点击超链接时,将用户ID传递给链接。 现在,为此路由编写一个控制器,您可以使用user-id获取用户详细信息并将其传递给视图。
答案 2 :(得分:0)
您可以将变量传递给另一个视图,就像在控制器中一样。
我们假设您在控制器中使用此方法:
public function whatever()
{
$someData = ...
$otherData = ...
return view('view', compact('someData', 'otherData));
}
在你看来:
<html>
<h1>{{ $someData->text }}</h1>
@include('otherView', ['otherData' => $otherData])
</html>
编辑:
请注意,otherData
无论如何都会在您收录的视图中提供。你不需要传递它。如果要对变量使用不同的别名,上面的示例很有用。
答案 3 :(得分:0)
在您的视图中,您可以使用php vars:
@include('view.name', ['some' => 'data'])
现在在'view.name'中你有变量$ some包含'data'
答案 4 :(得分:0)
很久以前我创建了这个函数,其中变量被传递给多个视图。这是代码
View::composer('admin.layouts.navbar', function($view){
$view->with('key', 12);
});
您可以将此代码粘贴到routes.php
文件
此处布局文件为/resources/views/admin/layout/navbar
,变量名称为$key
,可在导航栏视图中访问,如
{{$key}}