如何将视图中的php变量传递给Laravel 5.2中的另一个视图?
I have a table which consists of user data. I have created a view in which I am able to view the user's name and on clicking on the name I am expecting to view the detailed info of that particular user. Could you please guide me through the issue? It would be a great help!
我有一个由用户数据组成的表。 我创建了一个视图,在其中我可以查看用户的名称,并点击我希望查看该特定用户的详细信息的名称。 你能指导我完成这个问题吗? 这将是一个很大的帮助! p> div>
From your question your requirement is not clear.
Am replying specifically to this comment of yours :
Yup right. I have a table which consists of user data. I have created a view in which I am able to view the user's name and on clicking on the name I am expecting to view the detailed info the user. Could you please guide me through the issue? It would be a great help.
When the user clicks the hyper link , pass the user-id to the link. Now , write a controller for this route where you get the user details using the user-id and pass it to the view.
You can pass the variable to another view the same you do in your controller.
Let's say you have this method in your controller:
public function whatever()
{
$someData = ...
$otherData = ...
return view('view', compact('someData', 'otherData));
}
And in your view:
<html>
<h1>{{ $someData->text }}</h1>
@include('otherView', ['otherData' => $otherData])
</html>
EDIT:
Note that, otherData
will be available anyway in your included views. You don't need to pass it around. The above example is useful if you want to use a different alias to your variable.
In your view, where you have your php vars you can use:
@include('view.name', ['some' => 'data'])
and now in the 'view.name' you have variable $some contains 'data'
If you want to share a variable between more than one view, you can easily use the share
method on the facade. There is actually a whole section in the docs about this:
https://laravel.com/docs/5.2/views#sharing-data-with-all-views
View::share('key', 'value');
If instead you want to remember a certain value to show on the next page, you can always use the session to "flash" data. The documentation has an article about that too:
https://laravel.com/docs/5.2/session#flash-data
Please note that you will need to re-inject these session data into the view, possibly by using the above "share" method on the View facade.
Its a long time ago I have created this functionality in which the variable is passed to multiple views.. Here is the code
View::composer('admin.layouts.navbar', function($view){
$view->with('key', 12);
});
You can paste this code inside routes.php
file
Here layout file is /resources/views/admin/layout/navbar
and variable name is $key
and it can be accessed in navbar view like
{{$key}}