如何在laravel5

时间:2018-02-07 12:39:26

标签: laravel-5

我是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'); `

当视图不同时,它可以工作。但我需要单一视图的数据

2 个答案:

答案 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

它将创建操作此模型所需的所有东西。