我是Laravel5的新手。有两个控制器Dashboard.php和Stats.php。我想将变量从两个控制器传递到我的单个视图DashBoard.blade.php 指导我这是可能的,并指导我关于项目的路线。
这是我的路由代码:
`Route :: get(' /',function(){ 返回视图(' welcome'); });
验证::路线();
路由:: get(' / home',' HomeController @ index') - > name(' home');
路由:: get(' / DashBoard',' DashBoard @ ratingdata') - > name(' DashBoard');
Route :: get(' / Stats',' Stats @ statsdata') - > name(' Stats'); `
当视图不同时,它可以工作。但我需要单一视图的数据
答案 0 :(得分:0)
以下是获取用户数据并在视图中显示的获取路径的示例 -
<强>路线强>
Route::get('edit_profile', 'AdminController@editProfile');
在AdminController中
public function editProfile(){
$data['title'] = 'Edit Profile';
$data['profile_info'] = Admin::where('id',1)->first();
return view("Admin::layout.edit_profile", $data);
}
您可以在视图中打印个人资料信息 -
{{$profile_info->name}}
答案 1 :(得分:0)
关于路由,您可以使用资源路由,它将创建您的所有基本路由。签出(https://laravel.com/docs/5.8/controllers#resource-controllers)
一个例子是:
Route::resource('/dashboard', 'DashboardController');
Route::resource('/stats', 'StatsController');
要在视图中显示多个模型的数据,您要做的就是在控制器的开头声明模型。
示例:
<?php
namespace App\Http\Controllers;
use App\Stats;
use Auth;
use Illuminate\Http\Request;
class DashboardController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$stats = Stats::all();
$dashboard = Dashboard::all();
return view('the_view_you_wanna_show', compact('stats', 'dashboard'));
}
然后,您现在要做的就是进入视图并显示数据。
示例:
<h1>Displaying the names of my dashboard</h1>
@foreach($dashboard as $names)
{{$names->name}}
@endforeach
<h1>Displaying the stats name</h1>
@foreach($stats as $stats_names)
{{$stats_names->name}}
@endforeach
提示: 创建模型时,请转到提示并输入:
php artisan make:model NameOfYourModel -a
它将创建操作此模型所需的所有东西。